扩展是指增加通用 Mapper 没有提供的功能。
举例:
通用 Mapper 官方文档中使用一个批量 insert 作为扩展功能的例子: tk.mybatis.mapper.additional.insert.InsertListMapper<T>
tk.mybatis.mapper.additional.insert.InsertListProvider
我们来仿照写一个批量 update。假设我们想生成下面这样的 SQL 语句:
UPDATE tabple_emp SET emp_name=?,emp_age=?,emp_salary=? where emp_id=?;
UPDATE tabple_emp SET emp_name=?,emp_age=?,emp_salary=? where emp_id=?;
UPDATE tabple_emp SET emp_name=?,emp_age=?,emp_salary=? where emp_id=?;
为了生成上面那样的 SQL 语句,我们需要使用到 MyBatis 的 foreach 标签。
<foreach collection="list" item="record" separator=";" >
UPDATE tabple_emp
<set>
emp_name=#{record.empName},
emp_age=#{record.empAge},
emp_salary=#{record.empSalary},
</set>
where emp_id=#{record.empId}
</foreach>
1、创建扩展接口MyBatchUpdateMapper
public interface MyBatchUpdateMapper<T> {
@UpdateProvider(type=MyBatchUpdateProvider.class, method