MyBatis 批量新增与删除功能完整教程
一、功能概述
通过 MyBatis 动态 SQL 实现以下功能:
- 批量新增:一次性插入多条员工记录,支持自增主键回填。
- 批量删除:根据 ID 数组一次性删除多条记录。
二、代码逐行解析
1. Mapper 接口定义
// 批量新增:传入员工对象集合
void insertAll(List<Emp> empList);// 批量删除:传入 ID 数组
void deleteAll(Integer[] ids);
- 参数说明:
List<Emp>
:员工对象集合,每个对象包含name
,age
,addr
,salary
字段。Integer[]
:待删除记录的 ID 数组。
2. 批量新增 XML 配置
<insert id="insertAll" useGeneratedKeys="true" parameterType="cn.cjxy.domain.Emp">INSERT INTO EMP(NAME, AGE, ADDR, SALARY) VALUES<foreach collection="list" item="emp" separator=",">(#{emp.name}, #{emp.age}, #{emp.addr}, #{emp.salary})</foreach>
</insert>
- 关键配置说明:
useGeneratedKeys="true"
:启用数据库自增主键回填功能。keyProperty="id"
(隐式生效):将生成的主键值回填到Emp
对象的id
属性。<foreach>
标签:colle