Mybatis 批量插入 返回自增Id
2016-12-02 00:33
337 查看
2月18日,mybatis3.3.1解决了此问题。好开心,省了多余的查询了。
自己测试了一下。
例子表:
POM 依赖:
XML代码部分:
注意:入参集合请使用“collection”、“list”或者“array”。
原因查看Mybatis更新记录:
自己测试了一下。
例子表:
CREATE TABLE `user` ( `id` INT NOT NULL AUTO_INCREMENT, `name` VARCHAR(16) NULL COMMENT '名称', PRIMARY KEY (`id`));
POM 依赖:
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.3.1</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.4</version> </dependency>
XML代码部分:
<insert id="addUserBatch" useGeneratedKeys="true" keyProperty="id"> INSERT INTO user(name) VALUES <foreach collection="list" index="index" item="item" open=" " separator="," close=" "> ( #{item.name}) </foreach> </insert>
注意:入参集合请使用“collection”、“list”或者“array”。
原因查看Mybatis更新记录:
private Collection<Object> getParameters(Object parameter) { Collection<Object> parameters = null; if (parameter instanceof Collection) { parameters = (Collection) parameter; } else if (parameter instanceof Map) { Map parameterMap = (Map) parameter; // when you insert a List(or Array). // If you want retrieve the auto-increment value or default value. // You should not to use @Param annotations, You must use a single parameter(List or Array). if (parameterMap.containsKey("collection")) { parameters = (Collection) parameterMap.get("collection"); } else if (parameterMap.containsKey("list")) { parameters = (List) parameterMap.get("list"); } else if (parameterMap.containsKey("array")) { parameters = Arrays.asList((Object[]) parameterMap.get("array")); } } if (parameters == null) { parameters = new ArrayList<Object>(); parameters.add(parameter); } return parameters; }
相关文章推荐
- Mybatis 批量插入返回 主键ID
- mybatis进行批量插入 返回批量插入主键ID 插入不成功等问题
- Mybatis+Mysql 批量插入的时候返回主键ID
- MyBatis+MySQL map 返回插入的主键ID
- MyBatis插入数据 返回插入的主键ID
- mybatis报错:当要返回刚刚插入数据的id时
- Mybatis返回插入主键id的方法
- mysql+mybatis插入一条数据后返回主键ID
- MyBatis+MySQL返回插入的主键ID
- 关于mybatis插入数据库返回主键id
- mysql通过mybatis insert数据时,返回插入数据的动态id
- spring JDBCTemplate实现批量插入及返回id
- MyBatis+MySQL 返回插入的主键ID
- mybatis mysql 插入对象返回数据主键id
- mybatis 插入一条数据返回相应数据ID
- MyBatis+MySQL 返回插入的主键ID
- MyBatis单条插入后返回自增的id
- MyBatis在insert插入操作时返回主键ID
- MyBatis在insert插入操作时返回主键ID的配置
- Mybatis中,当插入数据后,返回最新主键id的几种方法,及具体用法