爱问知识人 爱问教育 医院库

每次循环都要执行一次sql插入操作,怎么分批次处理?

首页

每次循环都要执行一次sql插入操作,怎么分批次处理?

java  ,有一万次循环,每次循环都要执行一次sql插入操作,怎么分批次处理?希望大神给出代码以及说明下过程,不胜感激!

提交回答

全部答案

    2018-05-21 04:37:19
  • 循环拼接sql,insert into tab(a) values(a),(a),(a),(a),
    这样拼接,次数达到多少次后执行sql就行了.

    W***

    2018-05-21 04:37:19

  • 2018-05-21 04:37:19
  • 那要看你具体要实现什么功能,在一个要什么样的分批次的处理
    你可以查出来这些全部对象,然后存放到一个list里,然后写一个类似于数据库的假分页,或者你从数据库取数据的时候就使用分页的方式去逐渐取出数据,取出少量数据之后,拿到你所需要的属性值去调接口,然后返回的数据,你存一下,这样可以来控制小数据量,多次请求,减轻服务器压力

    刘***

    2018-05-21 04:37:19

  • 2018-05-21 04:37:19
  • 先循环这个结果,拼接sql字符串,比如
    1234   StringBuffer sb = new StringBuffer(); sb.append("insert into table(column1,column2,column3) values('01','aa',1);")sb.append("insert into table(column1,column2,column3) values('02','bb',2);")sb.append("insert into table(column1,column2,column3) values('03','cc',3);")  
    然后把这个字符串去执行sql

    王***

    2018-05-21 04:37:19

  • 2018-05-21 04:37:19
  •   java后台controller中,for循环执行数据库操作,但是发现实际仅仅执行了一次,或者说提交成功了一次,并没有实际的个数循环
    有可能是同一个对象导致的
     
    可以仔细看一下下面两段代码有什么区别
    ps:代码无实际意义,只为演示
    Entity entity=null;for(int i=0;i<5;i ){
                           
                            entity= new Entity();
                            entity。
      setId(i);
                            entity。setCreateTime(new Date());                        boolean updateResult = Service。
      update( entity );
                       }
     
    Entity entity = new Entity();for(int i=0;i<5;i ){
                           entity。
      setId(i);
                           entity。setCreateTime(new Date());                        boolean updateResult = Service。
      update(entity );
                       }
     
    很明显上面是声明了一个引用,每一次都创建了一个新的对象,并执行update操作
    下面是同一个对象,不断地改变赋值,然后执行了update操作
    其结果截然不同:
    上面的一段代码,会执行实际的次数,循环0,1,2,3,4    执行5次update
    下面的代码仅仅只会执行一次,因为是同一个对象
    所以如果循环里面,调用service,service调用了dao执行了sql,如果发现仅仅只是执行了一次,可以考虑怀疑是不是对象是同一个

    纯手打  望采纳。
      

    论***

    2018-05-21 04:37:19

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 177-196
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):