mybatis ExecutorType.BATCH 批量插入

@Autowired
    private SqlSessionFactory sqlSessionFactory;

@org.junit.Test
    public void test2(){
         SqlSession session =sqlSessionFactory.openSession(ExecutorType.BATCH);
         try {
             Info3dModelUserdataMapper userDataMapper3=    session.getMapper(Info3dModelUserdataMapper.class);
             long time1=System.currentTimeMillis();
                List list=new ArrayList<>();
                for(int i=40000;i>0;i--){
                    list.add(new Info3dModelUserdata(null,i+"", i+"", i+""));
                     if(i%500==0){
                         userDataMapper3.insertBatchByList(list);
                         list.clear();
                     }
                }
                int i=userDataMapper3.insertBatchByList(list);
                System.out.println(System.currentTimeMillis()-time1+"——耗时");
                System.out.println("返回结果:"+i);
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            session.commit();
            session.close();
        }
        
            
    }

 

 
 
   insert into info3d_model_userdata (eid, model_id, element_id, 
      body)
    values 
   
            (#{record.eid}, #{record.modelId},#{record.elementId},#{record.body})
     

  
 

你可能感兴趣的:(mybatis ExecutorType.BATCH 批量插入)