I don't understand how to get auto generated keys with commons-dbutils?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You can use QueryRunner#insert()
. Below is an example. Given a table called users
, which has an auto generated primary key column and a varchar
column called username
, you can do something like this:
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:
As a matter of fact I think it cannot be done with the current version of common-dbutils. A few months ago, when I was working for another company, I extented the QueryRunner with my own implementation.
The request has been submitted to the DbUtils project, and there you can even find a viable implementation which I guess you could copy if you really need it.
https://issues.apache.org/jira/browse/DBUTILS-54