используйте 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();
});

0 ответов

Другие вопросы по тегам