2017.9.15 mybatis批量插入后实现主键回填
2017-09-15 16:46
204 查看
参考来自:mybatis mysql 批量insert 返回主键
注意:必须要在mybatis3.3.1及其以上才能实现。
执行完后,查看变量branchEntryList,可以看到主键已经回填了。
于是使用Map:
(1)insertMap.insert("branchEntryList",branchEntryList);
(2)int insertBatch(Map<String,Object> insertMap);
(3)parameterType="java.util.Map"
(4)<foreach collection="branchEntryList" ...
但是主键并没有回填。将Map的类型改为<String,List<Entry>>,主键则成功回填。所以使用此项功能的时候,List<Entry>必须指明,不管是不是放在map里。
注意:必须要在mybatis3.3.1及其以上才能实现。
1.service
List branchEntryList = (ArrayList<Entry>)entryMap.get("branchEntryList"); branchDao.insertBatch(branchEntryList);
2.dao
3.xml
注意这里是list,不管参数名叫什么,这里都是list。4.效果
执行前,branchEntryList里的对象是没有id的值的。执行完后,查看变量branchEntryList,可以看到主键已经回填了。
5.其他
在查资料的时候,说这种方式支持map和list。于是使用Map:
(1)insertMap.insert("branchEntryList",branchEntryList);
(2)int insertBatch(Map<String,Object> insertMap);
(3)parameterType="java.util.Map"
(4)<foreach collection="branchEntryList" ...
但是主键并没有回填。将Map的类型改为<String,List<Entry>>,主键则成功回填。所以使用此项功能的时候,List<Entry>必须指明,不管是不是放在map里。
相关文章推荐
- 2017.9.15 mybatis批量插入后实现主键回填
- Mybatis批量插入返回自增主键
- mybatis批量插入,主键自增问题
- 数据库insert and update--查询是否主键存在和插入语句用一条sql来实现。
- Java实现mybatis批量插入数据到Oracle
- Mybatis批量插入返回自增主键
- mybatis 插入操作实现主键返回的方法
- MyBatis插入后主键回填
- Mybatis批量插入返回自增主键(转)
- 使用mybatis 实现批量插入,主键自增长
- 用mybatis实现返回刚插入表数据记录的主键值id
- Oracle用触发器实现插入数据主键自增
- mybatis 插入oracle 实现主键自增
- jdbc、Mybatis插入数据主键回显的实现方法
- mybatis批量插入返回主键解决方案
- MyBatis批量插入主键回写
- Oracle数据库批量foreach涉及union all插入自增长主键实现方案
- Oracle用触发器实现插入数据主键自增
- Mysql实现无插入有更新(不知主键的情况下)
- mysql insert插入时实现如果数据表中主键重复则更新,没有重复则插入的四种方法