MyBatis批量插入並返回主鍵

2021-10-04 11:01:08 字數 782 閱讀 8649

mybatis批量插入

在mysql資料庫中支援批量插入,所以只要配置usegeneratedkeys和keyproperty就可以批量插入並返回主鍵了。

比如有個表camera,裡面有camerano,chanindex,cameraname這三個字段,其中camerano是自增主鍵。

下面是批量插入的dao層介面:

void batchinsertcameras(@param("list") listcameras);
insert into camera (chanindex,cameraname)

values

(#,#)

@insert("")

@options(usegeneratedkeys = true, keyproperty = "camerano")

void batchinsertcameras(@param("list") listcameras);

注意:@param裡必須寫成list, foreach的collection也必須寫成list,否則批量插入後會報錯說找不到"camerano"字段,而無法返回主鍵。

通過上面的xml形式或者註解形式的配置(我這是spring boot的專案,引入的mybatis-spring-boot-starter,採用的是註解形式),就可以批量插入並返回主鍵了,主鍵會被設定到camera物件的camerano欄位中。

for(camera camera : cameras)

mybatis批量插入並返回主鍵

mybatis批量插入 在mysql資料庫中支援批量插入,所以只要配置usegeneratedkeys和keyproperty就可以批量插入並返回主鍵了。比如有個表camera,裡面有camerano,chanindex,cameraname這三個字段,其中camerano是自增主鍵。下面是批量插入...

Mybatis 批量插入 返回自增Id

2月18日,mybatis3.3.1解決了此問題。好開心,省了多餘的查詢了。自己測試了一下。例子表 create table user id intnot null auto increment,name varchar 16 null comment 名稱 primary key id pom 依...

MyBatis 批量插入

1.遇到問題 insert at least 1 column 報錯說 至少插入一列 錯誤的語句 select studentcode,roomcode,n x,n y from把括號去掉 select studentcode,roomcode,n x,n y from 2.column count...