jdbcBatch

1   Introduction

当需要向数据库发送一批SQL语句执行时,应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率。

2   Example

2.1 statementBatch

 void

addBatch(String sql)
          将给定的 SQL 命令添加到此 Statement 对象的当前命令列表中。

 int[]

executeBatch()
          将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。

 void

clearBatch()
          清空此 Statement 对象的当前 SQL 命令列表。

   public voidstatemBatch(){

      Connection conn=null;

      Statement state=null;

      ResultSet rs=null;

      try{

         conn=JdbcUtils.getConnection();

         state=conn.createStatement();

         String sql1="insert intousers values (null,'lll','1234')";

         String sql2="updateusers set username='iii' where id=2";

         state.addBatch(sql1);

         state.addBatch(sql2);

         state.executeBatch();

      }catch(Exception e){

         e.printStackTrace();

      }finally{

         JdbcUtils.release(conn, state, rs);

      }

   }

2.2 preparedStatementBatch

 void

addBatch()
          将一组参数添加到此 PreparedStatement 对象的批处理命令中。

 void

clearParameters()
          立即清除当前参数值。

public void preparedStatementBatch(){

      Connection conn=null;

      PreparedStatement pstate=null;

      ResultSet rs=null;

      try{

         conn=JdbcUtils.getConnection();

         String sql="insertinto users values (null,?,?)";

         pstate=conn.prepareStatement(sql);

         for(int i=0;i<100;i++){

            pstate.setString(1, "name"+i);

            pstate.setString(2, i+"");

            pstate.addBatch();

            if(i%10==0){

                pstate.executeBatch();

                pstate.clearBatch();

            }

         }

      }catch(Exception e){

         e.printStackTrace();

      }finally{

         JdbcUtils.release(conn, pstate, rs);

      }

   }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值