Как получить последний идентификатор, введенный с помощью Dapper?

java 7 +

По моему скромному мнению, поскольку я фанат простой java, я бы предложил что-то, что это комбинация вышеупомянутых ответов. Может быть, я опаздываю на вечеринку. Вот код:

 String sampleText = "test" +  System.getProperty("line.separator");
 Files.write(Paths.get(filePath), sampleText.getBytes(StandardCharsets.UTF_8), 
 StandardOpenOption.CREATE, StandardOpenOption.APPEND);

Если файл не существует, он создает его, и если он уже существует, он добавляет sampleText в существующий файл. Используя это, вы избавляетесь от добавления ненужных библиотек в ваш путь к классам.

0
задан Elmoro 19 March 2019 в 09:18
поделиться

3 ответа

Ваш SQL должен иметь 2 предложения. Вставка и выберите последний вставленный идентификатор. Это не зависит от СУБД, поэтому, например, в MySQL это будет выглядеть примерно так:

INSERT INTO <table> (...) VALUES (...); SELECT last_insert_id();

А на стороне приложения вам придется использовать метод расширения Dapper ExecuteScalarAsync. Например:

// ...
var lastId = await conn.ExecuteScalarAsync<long>("INSERT INTO <table> (...) VALUES (...); SELECT last_insert_id();");
0
ответ дан Gabriel Lima 19 March 2019 в 09:18
поделиться
insert into your_table (...)
output INSERTED.(column name) 
values (...)
0
ответ дан AS Mackay 19 March 2019 в 09:18
поделиться

Пост решен! Я использовал транзакции, и все работало! ;)

0
ответ дан Elmoro 19 March 2019 в 09:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: