问题标签 [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.

0 投票
0 回答
199 浏览

java - JDBC 和 JDBI:@QueryTimeOut 不适用于 Redshift 数据库

我将 JDBI 与 Redshift 数据库一起使用。驱动程序似乎完全忽略了 JDBI 提供的 QueryTimeOut 注释,这让我认为 Redshift 驱动程序不支持它,也许?

欢迎任何提示。

0 投票
2 回答
262 浏览

java - 解析从查询返回的多个值?

虽然这似乎是一个非常简单的问题,但我想出的唯一解决方案如下,对于时间复杂度较低的不那么难看的东西有什么建议吗?

我的应用程序在 Java 中,并且正在使用 MS-sql DB 进行检索skife.jdbi

假设我有一个Tablewith columns A, B, and CwhereAB形成一个主键。我想检索C给定一个特别的Aand B。这很容易实现。但是如果我对吞吐量的要求很高,所以我想Select分批做这些语句。我最终得到如下内容:

给定 aSetObjectsAand B,我迭代 List 编译所有Aand的值B。然后我运行一个查询,如SELECT A, B, C FROM tbl WHERE A IN :listOfAs AND B IN :listOfBs. A然后我迭代查询的结果,通过比较和B值将结果与原始对象匹配。这听起来很合理,但代码最终看起来像下面这样,看起来丑陋和次优?

0 投票
0 回答
1292 浏览

java - JDBI (not JDBC) Connection Closed - 如何处理

这是一个 JDBI 问题,Jarrod Roberson,而不仅仅是 Postgres 问题。)

我有一个业务类多次调用 DAO 方法。大约 15 分钟后,由于 Postgres 的连接关闭错误而终止。

这是 Dao 类的实例化方式:

A 然后这个dao有一个用@Transaction注解的方法,从业务类中被多次调用。

在某些时候,连接关闭。我应该怎么做才能继续调用@Transaction 方法?

0 投票
1 回答
289 浏览

dropwizard - dropwizard 按需获取 jdbi 连接

我在 dropwizard 中有一个带有后端代码的简单 CRUD 应用程序。整个应用程序只包含简单的资源类和 crud 操作,除了涉及一些业务逻辑的情况。

我试图将其提取到服务中,而不是将其放入资源类本身。但为此,我的服务将需要一个按需 jdbi 连接来访问数据并执行其操作。

我所有的连接字符串和配置值都在 YML 文件中。由于此应用程序将在具有不同 yml 文件的不同服务器上运行,因此我不想硬编码 yml 文件名以便再次读取它,以获取连接字符串并这样做。

我如何实现这一目标?

0 投票
1 回答
2577 浏览

java - 如何使用 JDBI 运行 sql 脚本文件

我正在使用 jdbi 连接到 db 并执行 sql 命令。

现在我想使用 jdbi 运行 sql 文件。我用谷歌搜索了很多,但无法弄清楚如何。

0 投票
0 回答
533 浏览

java - 如何使用 JDBI 有效地将查询结果映射到参数?

我有一个案例,我通过一系列查询构造一个对象。为了优化,对象的构造是一起批处理的,查询使用IN子句来允许处理一批对象。

在下面的示例中,给定 的列表MyObject,我想MyObject.c根据 和 的值MyObject.a进行填充MyObject.b。使用skife.jdbi 库,我的实现如下所示。

有什么改进建议吗?

如果我解析原始结果集可能会更有效(尽管我找不到如何让我的界面来映射结果集)?

或者,如果有某种方法可以直接将查询参数映射到结果(但我还没有找到方法),它会更整洁吗?

0 投票
2 回答
535 浏览

jdbc - Pg-jdbc 使用现有的 RETURNING 子句在 Prepared Batch 上附加 RETURNING *

我正在使用 pg-jdbc/JDBI 执行准备好的批量插入到 Postgres 表中,以便使用显式 RETURNING 子句获取生成的 id 值列表:

准备好语句后,pg-jdbc 将RETURNING *在现有RETURNING子句之后盲目地附加一个额外的内容,从而导致以下格式错误的可恶:

如果我删除显式的 RETURNING 子句,则该语句可以正常工作;但是,它会导致返回目标表中的所有字段,这在许多已插入大量数据的情况下是非常不可取的。

有什么方法可以阻止 pg-jdbc 从事这种行为吗?

测试依赖:

0 投票
1 回答
853 浏览

mysql - 使用 JDBI 将表名绑定到 SQL 查询

我正在使用 JDBI 发出一个简单的 mysql 选择查询。如果我尝试绑定表名,我会收到错误的 SQL 语法错误。

代码片段:

如果我执行这个,我会得到

如果我对表名进行硬编码,我会得到正确的结果。请帮忙。谢谢

0 投票
1 回答
351 浏览

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()

0 投票
1 回答
374 浏览

intellij-idea - 将 IntelliJ 语言注入添加到库中

我可以使用 IntelliJ 的语言注入来改造库吗?我知道如何通过注释或注释将它们添加到我自己的代码中,但我也希望在 JDBI 中使用语法@SqlUpdate着色@SqlQuery