天天看点

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...); ...)"

继续阅读