目录
踩坑背景
项目架构:Spring Boot + MyBatis + MySQL。
使用MyBatis作为ORM框架,jdbc驱动使用的是mariadb-java-client。
org.mariadb.jdbc
mariadb-java-client
2.3.0
为了不使用xml形式的配置文件,MyBatis使用接口映射器,并使用映射器注解方式编写SQL语句。
@Mapper
public interface TestDAO {
@Select("select * from test where id = #{id}")
public Test getById(@Param("id") long id);
}
问题描述
在批量添加记录时通过SQLProvider动态拼装SQL,具体代码示例如下所示:
@Repository
@Mapper
public interface TestDAO {
// 使用SQLProvider拼装SQL实现批量插入
@InsertProvider(type = TestProvider.class, method = "addTestBatch")
public Integer addTestBatch(@Param("tests") List tests);
}
public class TestProvid