【发布时间】:2012-02-01 01:34:51
【问题描述】:
我不明白如何使用 commons-dbutils 获取自动生成的密钥?
【问题讨论】:
标签: java jdbc apache-commons apache-commons-dbutils
我不明白如何使用 commons-dbutils 获取自动生成的密钥?
【问题讨论】:
标签: java jdbc apache-commons apache-commons-dbutils
您可以使用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");
【讨论】:
事实上,我认为当前版本的 common-dbutils 无法做到这一点。几个月前,当我在另一家公司工作时,我用自己的实现扩展了 QueryRunner。
请求已提交给 DbUtils 项目,您甚至可以在那里找到一个可行的实现,如果您真的需要,我想您可以复制它。
【讨论】: