используйте MariaDB 10.5 RETURNING для JDBI/JDBC
MariaDB выпустила
RETURNING
синтаксис в 10.5. Но пакетная вставка JDBI с использованием jdbi sqlobject или
PreparedBatch
возвращается
int[]
для сгенерированных ключей. Как я могу получить возвращаемые данные из запросов вставки?
ItemDao - использование JDBI sqlobject
@SqlBatch("INSERT INTO items (code, name, size, price) VALUES (:code, :name, :size, :price) RETURNING item_id, price")
int[] storeBulkItems(@BindBean List<Item> items);
ItemDao - использование обработчиков JDBI
jdbi.withHandle(handle -> {
PreparedBatch batch = handle.prepareBatch("INSERT INTO items (code, name, size, price) VALUES (:code, :name, :size, :price) RETURNING item_id, price");
items.forEach(item -> batch.bindBean(item).add());
return batch.execute();
});