MyBatis 3.3.1支持批量插入多行回写自增id的功能,具体介绍请参看Support insert multiple rows and write-back id #547。
实现原理
其实现原理就是一条SQL语句:
INSERT INTO tablename (column-a, [column-b, ...])
VALUES ('value-1a', ['value-1b', ...]),
('value-2a', ['value-2b', ...]),
支持上述SQL语法特性的数据库有:DB2, SQL Server (since version 10.0 - i.e. 2008), PostgreSQL (since version 8.2), MySQL, sqlite (since version 3.7.11) and H2。
实战
本文通过一个示例来演示如何使用MyBatis 3.3.1这一新特性。
准备工作
MySQL建表SQL:
CREATE TABLE `tb_user` (
`id` BIGINT(12) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(20) NOT NULL,
`password` VARCHAR(20) NOT NULL,
`age` SMALLINT(3) NOT NULL,
`email` VARCHAR(40) NOT NULL,
`gender` SMALLINT(2) NOT NULL DEFAULT '0',
<