如何使用 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
的表,它有一个自动生成的主键列和一个名为username
的varchar
列,您可以执行以下操作:
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 获取生成的密钥?的主要内容,如果未能解决你的问题,请参考以下文章
使用没有语句的 apache dbutils 获取自动增量生成的密钥 [重复]