Nie rozumiem, jak uzyskać klucze generowane automatycznie z commons-dbutils?Jak uzyskać wygenerowane klucze z commons dbutils?
6
A
Odpowiedz
7
Można użyć QueryRunner#insert()
. Poniżej znajduje się przykład. Biorąc pod uwagę tabelę o nazwie users
, który ma automatycznie generowane podstawową kolumnę klucza i kolumnę varchar
nazwie username
, można zrobić coś takiego:
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
W gruncie rzeczy nie można tego zrobić przy użyciu bieżącej wersji common-dbutils. Kilka miesięcy temu, kiedy pracowałem dla innej firmy, poszerzyłem QueryRunner o własną implementację.
Wniosek został złożony do projektu DbUtils, a tam można nawet znaleźć realną implementację, która, jak sądzę, mogłaby zostać skopiowana, gdyby była naprawdę potrzebna.