oracle插入上万条数据,java实现分批插入

最近在项目中遇到这样一个问题 :

  1. excel导出数据到数据库(oracle),当数据库中的数据有上万条时,如何进行批量操作
  2. 这里我用的分批操作,直接上代码:
private void createBatchList(List> list){//这个list就是批量的总数据
    List> newList = null;//定义一个新的容器
  	Map map = new HashMap();
    int listSize = list.size();//数据大小
    int count  = 999; //初始化一个变量,默认1000
   //根据变量确定一次处理多少条数据
       if( listSize >= 1 && listSize < 1000) {
			count = 333;
		}else if(listSize >= 1000 && listSize < 10000) {
			count = 1333;
		}else if(listSize >= 10000) {
			count = 5333;
		}
    int loopSize  = (listSize / count) + 1;//循环多少次
	    for (int i=0;i
  1. mybatis中:

     INSERT INTO table (clumn1,clumn2,clumn3,clumn4,clumn5,clumn6,clumn7,clumn8)
     (
    
           select
       		    ${item.datas}
           from dual
     
     )
 

好了,以上就是我所总结的,亲测3万多条数据用时3s

本人刚入行没多久,如有问题或者更好的方式,请多指教

你可能感兴趣的:(java)