image.png

    1. <!--配置一个可以执行批量的sqlSession-->
    2. <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
    3. <!--
    4. SqlSessionTemplate 中的 有参构造方法:
    5. public SqlSessionTemplate(SqlSessionFactory sqlSessionFactory, ExecutorType executorType) {-->
    6. <!--引入,注入sqlSessionFactory-->
    7. <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"/>
    8. <!--
    9. ExecutorType executorType:执行类型,
    10. value="BATCH":批量处理
    11. -->
    12. <constructor-arg name="executorType" value="BATCH"/>
    13. </bean>

    测试:

    1. package com.wzy.test;
    2. import com.wzy.dao.DepartmentMapper;
    3. import com.wzy.dao.EmployeeMapper;
    4. import com.wzy.pojo.Department;
    5. import com.wzy.pojo.Employee;
    6. import org.apache.ibatis.session.SqlSession;
    7. import org.junit.Test;
    8. import org.junit.runner.RunWith;
    9. import org.springframework.beans.factory.annotation.Autowired;
    10. import org.springframework.test.context.ContextConfiguration;
    11. import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    12. import java.util.Random;
    13. import java.util.UUID;
    14. @RunWith(SpringJUnit4ClassRunner.class)//指定使用SpringJUnit4单元测试运行
    15. @ContextConfiguration(locations = {"classpath:springapplication.xml"})
    16. public class MapperTest {
    17. @Autowired
    18. DepartmentMapper departmentMapper;
    19. @Autowired
    20. EmployeeMapper employeeMapper;
    21. @Autowired
    22. SqlSession sqlSession;
    23. @Test
    24. public void testCRUD(){
    25. //1、向 `myb_dept` 部门 表中插入数据
    26. /* departmentMapper.insert(new Department(1,"工程部"));
    27. departmentMapper.insert(new Department(2,"生产部"));
    28. departmentMapper.insert(new Department(3,"外交部"));
    29. departmentMapper.insert(new Department(4,"财务部"));*/
    30. //2、向 `myb_dept` 表中插入数据
    31. //employeeMapper.insert(new Employee(null,"张三","男","zhangsan@163.com",1));
    32. //3、批量插入
    33. EmployeeMapper mapper = sqlSession.getMapper(EmployeeMapper.class);
    34. Random random = new Random();
    35. //性别
    36. String gender = "";
    37. for (int i = 0; i < 100; i++) {
    38. if (i % 2 == 0){
    39. gender="男";
    40. }else {
    41. gender="女";
    42. }
    43. //名字
    44. String name = UUID.randomUUID().toString().substring(0, 5)+i;
    45. //email
    46. String email = name+i+"@163.com";
    47. int dId = random.nextInt(4)+1;
    48. //调用 insertSelective() 方法插入数据
    49. mapper.insertSelective(new Employee(null,name,gender,email,dId));
    50. }
    51. }
    52. }