(spring-mybatis 工程单元测试目录,MapperTest 类)
我们在生产的项目中会有一些批量操作的场景,比如导入文件批量处理数据的情况(批量新增商户、批量修改商户信息),当数据量非常大,比如超过几万条的时候,在Java 代码中循环发送SQL 到数据库执行肯定是不现实的,因为这个意味着要跟数据库创建几万次会话,即使我们使用了数据库连接池技术,对于数据库服务器来说也是不堪重负的。
在MyBatis 里面是支持批量的操作的,包括批量的插入、更新、删除。我们可以直接传入一个List、Set、Map 或者数组,配合动态SQL 的标签,MyBatis 会自动帮我们生成语法正确的SQL 语句。
比如我们来看两个例子,批量插入和批量更新。