Как получить сгенерированные ключи с помощью dbutils? - PullRequest
7 голосов
/ 03 января 2012

Я не понимаю, как получить автоматически сгенерированные ключи с помощью commons-dbutils?

Ответы [ 2 ]

9 голосов
/ 01 марта 2015

Вы можете использовать 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");
3 голосов
/ 03 января 2012

На самом деле я думаю, что это невозможно сделать с текущей версией common-dbutils. Несколько месяцев назад, когда я работал в другой компании, я расширил QueryRunner своей собственной реализацией.

Запрос был отправлен в проект DbUtils, и там вы даже можете найти жизнеспособную реализацию, которую, я думаю, вы могли бы скопировать, если она вам действительно нужна.

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

...