1. 程式人生 > >Mybatis使用註解的方式一次插入多條資料

Mybatis使用註解的方式一次插入多條資料

ORACLE

對於oracle資料庫:不需要進行額外設定,可以直接在方法上使用註解進行多表的插入

@Insert("INSERT ALL INTO city (id,name,state) VALUES (31002, 'Disc','DISC') INTO city2 (id, name,state) VALUES (310003, 'Floppy','Floppy')" +" SELECT * FROM dual")void insertCity();

***注意後邊的select * from dual,一定不能少,否則報錯。通過這種方法可以插入多條資料到多張表中,具體語法:

INSERT ALL INTO table_name1

(欄位1,

欄位2,

...)

VALUES

(FileValue1,

FileValue2,

...)

INTO table_name2

(欄位1,

欄位2,

...)

VALUES

(FileValue1,

FileValue2,

...)

...

SELECT * FROM DUAL;

Mysql

對於Mysql,因為mysql預設一次插入多條資料的模式是關閉的,所以需要先在url上配置

url=jdbc:mysql://182.92.217.57:3306/test?&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true

**注意紅色部分,mysql預設是關閉的,需要設定為true才能開啟使用。

其他的就簡單了,直接在註解裡面寫多條mysql的insert語句,中間以;隔開。

@Insert("insert into city values(1201,'北京','beijing');insert into country values(1116,'北京','beijing')")void insertCity();

語法如下:

"INSERT INTO table_name1(欄位1,欄位2,欄位3...) VALUES(value1,value2,value3...);

INSERT INTO table_name2((欄位1,欄位2,欄位3...) VALUES(value1,value2,value3...); ...)"