Mybatis高级部分001真正批处理

&rewriteBatchedStatements=true  mysql 配置 开启批处理 oracle默认开启

可以自己测试下 对比下 速度提升很大

public class MybatisBatchTest {

   @Autowired
   SqlSessionTemplate sqlSessionTemplate;

   @Test
   public void test(){
       SqlSession sqlSession = sqlSessionTemplate.getSqlSessionFactory().openSession(ExecutorType.BATCH, false);

       SysUserMapper mapper = sqlSession.getMapper(SysUserMapper.class);

       StopWatch stopWatch = new StopWatch();

       stopWatch.start();
       for (int i = 0; i < 100000 ; i++) {
           SysUser sysUser = new SysUser();
           sysUser.setUserCode("ww"+i);
           sysUser.setUserName("ddd"+i);
           sysUser.setUserPassword("ddd33f"+i);
           sysUser.setUserCode("2");
           sysUser.setUserState("2");
           mapper.insert(sysUser);
           if(i%40000 == 0){
               sqlSession.commit();
               sqlSession.clearCache();
           }
       }
       sqlSession.commit();
       sqlSession.clearCache();
       stopWatch.stop();

       System.out.println(stopWatch.getTotalTimeSeconds());

   }
}

posted @ 2023-06-08 23:39  drlsk  阅读(12)  评论(0)    收藏  举报  来源