MyBatis支持批量插入获得自增id
来源:互联网 发布:网络舆论暴力事件 编辑:程序博客网 时间:2024/05/16 07:32
MyBatis以前不支持批量插入获取自增id,于是有些需求就难以实现,插入一批数据但是都需要知道id的场景(比如需要将id记录到日志表)就只能换成一个个插入,一定程度上降低了效率。
之前有大神分析过MyBatis源代码,并且给出了一种解决方案(稍微有点麻烦),详见:
https://my.oschina.net/zudajun/blog/674946
MyBatis在3.3.x修复了这个问题,详见:
https://github.com/mybatis/mybatis-3/pull/547
使用方式如下:
<insert id="batchInsert" useGeneratedKeys="true" keyProperty="id" parameterType="java.util.List"> insert into xxxx values <foreach collection="list" item="item" index="index" separator=","> xxx </foreach></inser>
这里有几个注意点:
1. parameterType是List,当然也可以省略;
2. foreach中的collection需要写成list(默认就是这个),当有多个参数需要加@Param的时候,里面的名字也要写成list。
其中第2点在一个issue中有讨论,不知后面是否有修复,可以使用自定义的名字,没有试过。
0 0
- MyBatis支持批量插入获得自增id
- Mybatis 批量插入 返回自增Id
- MyBatis 3.3.1 批量插入多行回写自增id
- MyBatis 3.3.1 批量插入多行回写自增id
- Mycat批量插入与ID自增长结合的支持
- MyBatis 批量新增返回自增id
- mybatis 批量插入自增主键报错 BindingException:Parameter 'id' not found
- mybatis 自增id插入语句
- Mybatis 插入bean自增Id返回
- Mybatis批量插入返回自增主键
- mybatis批量插入,主键自增问题
- Mybatis批量插入返回自增主键
- Mybatis id自增,插入数据后返回id
- C#获得刚刚插入记录的自增ID
- oracle批量插入(insert)ID自增问题
- mybatis批量insert生成mysql自增id
- Mybatis插入一条新纪录(mysql中),获得它的自增长id
- mybatis插入记录后获得主键id
- 发篇文章试试水
- H - A Knight's Journey
- Struts2-Action
- Linux 使用者操作功能与权限
- linux c 之数据库
- MyBatis支持批量插入获得自增id
- OGNL 表达式
- 怎么写一个本地网页来连接WIFI(如何使用cmd命令连接wifi)
- java 结合opencv图片旋转
- hihoCoder 133周题目
- Linux 系统目录详解
- Windows核心编程笔记(十三)Windwos内存体系结构
- C语言编程中实现输入密码回显星号
- Linux Performance Monitoring with Vmstat and Iostat Commands