7

我不明白如何使用 commons-dbutils 获取自动生成的密钥?

4

2 回答 2

10

您可以使用QueryRunner#insert(). 下面是一个例子。给定一个名为 的表users,它有一个自动生成的主键列和一个varchar名为 的列username,您可以执行以下操作:

DataSource dataSource = ... // however your app normally gets a DataSource 
QueryRunner queryRunner = new QueryRunner(dataSource);
String sql = "insert into users (username) values (?)";
long userId = queryRunner.insert(sql, new ScalarHandler<Long>(), "test");
于 2015-03-01T20:27:20.483 回答
3

事实上,我认为当前版本的 common-dbutils 无法做到这一点。几个月前,当我在另一家公司工作时,我用自己的实现扩展了 QueryRunner。

该请求已提交给 DbUtils 项目,您甚至可以在那里找到一个可行的实现,我想如果您真的需要它,您可以复制它。

https://issues.apache.org/jira/browse/DBUTILS-54

于 2012-01-02T20:50:15.790 回答