问题标签 [jdbi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JDBC 和 JDBI:@QueryTimeOut 不适用于 Redshift 数据库
我将 JDBI 与 Redshift 数据库一起使用。驱动程序似乎完全忽略了 JDBI 提供的 QueryTimeOut 注释,这让我认为 Redshift 驱动程序不支持它,也许?
欢迎任何提示。
java - 解析从查询返回的多个值?
虽然这似乎是一个非常简单的问题,但我想出的唯一解决方案如下,对于时间复杂度较低的不那么难看的东西有什么建议吗?
我的应用程序在 Java 中,并且正在使用 MS-sql DB 进行检索skife.jdbi
。
假设我有一个Table
with columns A
, B
, and C
whereA
并B
形成一个主键。我想检索C
给定一个特别的A
and B
。这很容易实现。但是如果我对吞吐量的要求很高,所以我想Select
分批做这些语句。我最终得到如下内容:
给定 aSet
的Objects
值A
and B
,我迭代 List 编译所有A
and的值B
。然后我运行一个查询,如SELECT A, B, C FROM tbl WHERE A IN :listOfAs AND B IN :listOfBs
. A
然后我迭代查询的结果,通过比较和B
值将结果与原始对象匹配。这听起来很合理,但代码最终看起来像下面这样,看起来丑陋和次优?
java - JDBI (not JDBC) Connection Closed - 如何处理
(这是一个 JDBI 问题,Jarrod Roberson,而不仅仅是 Postgres 问题。)
我有一个业务类多次调用 DAO 方法。大约 15 分钟后,由于 Postgres 的连接关闭错误而终止。
这是 Dao 类的实例化方式:
A 然后这个dao有一个用@Transaction注解的方法,从业务类中被多次调用。
在某些时候,连接关闭。我应该怎么做才能继续调用@Transaction 方法?
dropwizard - dropwizard 按需获取 jdbi 连接
我在 dropwizard 中有一个带有后端代码的简单 CRUD 应用程序。整个应用程序只包含简单的资源类和 crud 操作,除了涉及一些业务逻辑的情况。
我试图将其提取到服务中,而不是将其放入资源类本身。但为此,我的服务将需要一个按需 jdbi 连接来访问数据并执行其操作。
我所有的连接字符串和配置值都在 YML 文件中。由于此应用程序将在具有不同 yml 文件的不同服务器上运行,因此我不想硬编码 yml 文件名以便再次读取它,以获取连接字符串并这样做。
我如何实现这一目标?
java - 如何使用 JDBI 运行 sql 脚本文件
我正在使用 jdbi 连接到 db 并执行 sql 命令。
现在我想使用 jdbi 运行 sql 文件。我用谷歌搜索了很多,但无法弄清楚如何。
java - 如何使用 JDBI 有效地将查询结果映射到参数?
我有一个案例,我通过一系列查询构造一个对象。为了优化,对象的构造是一起批处理的,查询使用IN
子句来允许处理一批对象。
在下面的示例中,给定 的列表MyObject
,我想MyObject.c
根据 和 的值MyObject.a
进行填充MyObject.b
。使用skife.jdbi 库,我的实现如下所示。
有什么改进建议吗?
如果我解析原始结果集可能会更有效(尽管我找不到如何让我的界面来映射结果集)?
或者,如果有某种方法可以直接将查询参数映射到结果(但我还没有找到方法),它会更整洁吗?
jdbc - Pg-jdbc 使用现有的 RETURNING 子句在 Prepared Batch 上附加 RETURNING *
我正在使用 pg-jdbc/JDBI 执行准备好的批量插入到 Postgres 表中,以便使用显式 RETURNING 子句获取生成的 id 值列表:
准备好语句后,pg-jdbc 将RETURNING *
在现有RETURNING
子句之后盲目地附加一个额外的内容,从而导致以下格式错误的可恶:
如果我删除显式的 RETURNING 子句,则该语句可以正常工作;但是,它会导致返回目标表中的所有字段,这在许多已插入大量数据的情况下是非常不可取的。
有什么方法可以阻止 pg-jdbc 从事这种行为吗?
测试依赖:
mysql - 使用 JDBI 将表名绑定到 SQL 查询
我正在使用 JDBI 发出一个简单的 mysql 选择查询。如果我尝试绑定表名,我会收到错误的 SQL 语法错误。
代码片段:
如果我执行这个,我会得到
如果我对表名进行硬编码,我会得到正确的结果。请帮忙。谢谢
java - JDBI 查询返回 MSSQL datetimeoffset(4) 列的错误值?
非常奇怪的是,我发现我的 MSSQL 数据库中的 JDBI 查询为 type 的列返回了错误的值datetimeoffset(4)
。在数据库中我只有一行(为了理智,我删除了所有其他行)
当我在 Java 中运行以下内容时,它会打印出2016-01-17 22:12:50.7357 -05:00
,与我的数据库中的值非常不同的时间。我猜想在 JDBI 的某个地方它试图将列值解析为 aDATETIMEOFFSET
并以某种方式感到困惑?
此外,当我将检索到的值转换为java.sql.Timestamp
对象并查看毫秒值时,它大约比当前值早 2 天 System.currentTimeMillis()
intellij-idea - 将 IntelliJ 语言注入添加到库中
我可以使用 IntelliJ 的语言注入来改造库吗?我知道如何通过注释或注释将它们添加到我自己的代码中,但我也希望在 JDBI 中使用语法@SqlUpdate
着色@SqlQuery
。