如何使用 commons dbutils 获取生成的密钥?

Posted

技术标签:

【中文标题】如何使用 commons dbutils 获取生成的密钥?【英文标题】:How to get generated keys with commons dbutils? 【发布时间】:2012-02-01 01:34:51 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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");

【讨论】:

【参考方案2】:

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

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

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

【讨论】:

以上是关于如何使用 commons dbutils 获取生成的密钥?的主要内容,如果未能解决你的问题,请参考以下文章

DBUtils

Commons-dbutils框架

Commons-dbutils框架

使用没有语句的 apache dbutils 获取自动增量生成的密钥 [重复]

在Maven项目中使用apache的commons-dbutils

在Maven项目中使用apache的commons-dbutils