- 批量插入问题:
- 用sql进行循环
- Mapper.xml文件
<insert id="insertBatch" parameterType="java.util.List">
INSERT INTO menu (`menu_name`, `menu_belong_sys_id`, `menu_url`,
`menu_parent_id`,`menu_child_id`,`create_time`,`create_staff_id`,`create_dept`,`modify_time`,
`delete_flag`,`remarks`,`check_status`,`ext1`,`ext2`,`ext3`)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.menuName}, #{item.menuBelongSysId}, #{item.menuUrl},#{item.menuParentId},
#{item.menuChildId},#{item.createTime},#{item.createStaffId},#{item.createDept},
#{item.modifyTime},#{item.deleteFlag},#{item.remarks},#{item.checkStatus},#{item.ext1},#{item.ext2},#{item.ext3})
</foreach>
</insert>
注意:在不要加分号,数值要用item。
- Mapper.java文件
Integer insertBatch(List<Menu> list);
- 批量插入数据时,一个出错,全部回滚
- Springboot在service层的实现类@override下面加注释
@Transactional(rollbackFor = Exception.class)