问题标签 [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 投票
4 回答
17571 浏览

java - 如何在 jDBI 中进行查询?

我怎样才能在 jDBI 中执行这样的事情?

桌子:foo(id int,name varchar)

类似于来自 myBatis 的 @SelectProvider。

有人问过类似的问题How do I create a Dynamic Sql Query at runtime using JDBI's Sql Object API? ,但不知何故,我不清楚答案。

0 投票
3 回答
1099 浏览

java - X 天后从数据库中删除项目

我正在尝试制作一个 Java 线程,该线程必须从 MySQL 数据库中删除超过 7 天的所有记录。

在我的表中,我有一列包含这样的日期:2013-10-28 17:00:00

为此,我想使用 JDBI 库。以及我的问题,如果有人可以给我和我必须写的查询示例。

我认为它应该是这样的:

0 投票
2 回答
191 浏览

java - 日期字段未以正确格式给出值

List<Map<String, Object>>值中,我从数据库中获取值。数据库端我已经使用 defaultMapper 来映射值。现在,当我获取值时,只有一种 Date 类型的字段在上面的值中没有给出正确的结果。日期在 json 中以这种格式出现:“update_date”:1319529055000

谁能告诉我如何使用 defaultMapper 正确映射此日期字段?

0 投票
2 回答
12532 浏览

java - 将事务与 JDBI / IDBI / Dropwizard 一起使用——回滚问题

我在让交易与 IDBI 一起工作时遇到了很多麻烦。我们正在使用 dropwizard 框架,并且简单的插入、更新、选择和删除都可以找到,但现在我们似乎无法让事务正常工作。这是我正在尝试的

这是我的 JustinTest2 课程

我也尝试过像这样实现 writeJustin:

我似乎无法让事务回滚,在每一种方式中,插入的行在回滚后总是存在,无论我是直接通过句柄尝试还是使用 inTransaction (根据我的理解,如果出现异常,则不应提交事务在回调中抛出)有人知道我可能做错了什么吗?

0 投票
1 回答
2382 浏览

java - JDBI 插入问题

我正在使用 JDBI 将一些数据插入到具有自动增量主键的 mysql 表中。我使用索引来进行插入。代码如下所示:

这已经工作了一段时间,因为values[]始终是正确的 count(32) 并且参数始终处于相同的顺序。现在虽然它必须处理传递一个较小的数组(18、19 或 20)并且仍然正确地进行插入;最后 14 个左右的 args 可以为空或空白。值的顺序仍然是静态的(即,如果传递 18 列,则它是表中的前 18 列)并且最后 20 列都是int(11)列。

现在,当它传递一个小于 32 的数组时,它会给出如下错误:

解决这个问题的最佳方法是什么?

0 投票
1 回答
2279 浏览

java - JDBI Object Query

I've used JDBI before for Java persistence stuff before but it's always been the fluent API not the object API. Trying the Object API now.

I've got a DAO Object that is pretty simple:

Tested the query in mysql, it works fine, but running it in a unit test:

I get an exception:

java.lang.IllegalStateException: Method com.hrweb.dao.PersonDAO#insertPerson is annotated as if it should return a value, but the method is void.

What am I doing wrong here?

0 投票
2 回答
3802 浏览

java - 如何将 jdbiFactory DAO 注入 Dropwizard 命令?

我开始使用Dropwizard,我正在尝试创建一个需要使用数据库的命令。如果有人想知道我为什么要这样做,我可以提供充分的理由,但这不是我问题的重点。这是关于 Dropwizard 中的依赖倒置和服务初始化和运行阶段。

Dropwizard 鼓励使用其DbiFactory 来构建 DBI 实例,但为了获得一个,您需要一个Environment实例和/或数据库配置:

如您所见,您的服务及其方法中的环境配置run(),但需要在其方法中将命令添加到服务的引导程序中initialize()

到目前为止,我已经能够通过在我的 Commands 中扩展ConfiguredCommandDBI并在它们的方法中创建实例来实现这一点run(),但这是一个糟糕的设计,因为应该将依赖项注入到对象中,而不是在.

我更喜欢通过它们的构造函数注入 DAO 或我的命令的任何其他依赖项,但这对我来说目前似乎是不可能的,因为Environment当我需要创建它们并将它们添加到它的引导程序时,在服务初始化中无法访问和配置。

有谁知道如何实现这一目标?

0 投票
1 回答
821 浏览

java - java.lang.NoClassDefFoundError: org/skife/jdbi/v2/DBI

我使用 JDBI 在我的计算机上本地创建了一个项目,它与数据库接口没有任何问题。

我现在在 Tomcat 服务器上使用相同的项目。我正在编译我的代码,javac -cp "lib/*" cs5530/*.java其中 lib 包含我所依赖的外部 jar,例如 jdbi-2.49.jar。

这段代码是我创建新 DBI 的地方。

它在我的类构造函数中调用:

这是我得到的错误:

那么为什么它会在看到必要的类时编译得很好,然后在运行时出现问题,我将如何解决这个问题?

谢谢。

0 投票
1 回答
11256 浏览

java - JDBI,使用 sql 查询将数据检索到自定义对象(构造函数)而不是 Map

所以当我们使用 JDBI 从数据库中查询时,它是把它变成一个Map<String, Object>类型。

我想将它作为我的自定义对象(构造函数)而不是Map<String, Object>.

相反,我想使用:

其中customizedObjectclass 是一个包含所有列属性的对象。

有没有办法做到这一点?我找到了一些相关文档,但我无法真正理解实现。

http://jdbi.org/sql_object_api_queries/

0 投票
1 回答
752 浏览

java - 对于受影响的行,Mysql 总是返回 1

我有一个使用 JDBI/JDBC/Mysql 的 java 应用程序。

我正在尝试将一些更新语句作为事务运行,即设置 autoCommit(false)。当我执行语句时,JDBI 总是返回受影响的行数为 1,即使我希望它返回 0

这是代码片段。

我正在运行的 SQL 插入是类型

当我在 mysql 客户端中运行相同的查询时,它显示我受影响的行为 0。