zoukankan      html  css  js  c++  java
  • Mysql 批处理多条sql语句

    package cn.itcast.demo;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.Statement;
    
    import org.junit.Test;
    
    import cn.itcast.utils.JdbcUtils;
    
    public class Demo3 {
    
        /**
         * jdbc批处理的两种方式:statement 和 preparedstatement
         create table testbatch
         (
             id int primary key,
             name varchar2(20)
         );
          
         */
        
        @Test
        public void testbatch1(){
            
            Connection conn = null;
            Statement st = null;
            ResultSet rs = null;
            
            try{
                conn = JdbcUtils.getConnection();
                String sql1 = "insert into testbatch(id,name) values(1,'aaa')";
                String sql2 = "insert into testbatch(id,name) values(2,'bbb')";
                String sql3 = "delete from testbatch where id=1";
                
                st = conn.createStatement();
                st.addBatch(sql1);
                st.addBatch(sql2);
                st.addBatch(sql3);
                
                st.executeBatch(); 
                st.clearBatch();
            }catch (Exception e) {
                e.printStackTrace();
            }finally{
                JdbcUtils.release(conn, st, rs);
            }
        }
        
        @Test
        public void testbatch2(){
            
            long starttime = System.currentTimeMillis();
            Connection conn = null;
            PreparedStatement st = null;
            ResultSet rs = null;
            
            try{
                conn = JdbcUtils.getConnection();
                String sql = "insert into testbatch(id,name) values(?,?)";
                st = conn.prepareStatement(sql);
                
                for(int i=1;i<10000008;i++){  //i=1000  2000
                    st.setInt(1, i);
                    st.setString(2, "aa" + i);
                    st.addBatch();
                    
                    if(i%1000==0){
                        st.executeBatch();
                        st.clearBatch();
                    }
                }
                st.executeBatch();
                
            }catch (Exception e) {
                e.printStackTrace();
            }finally{
                JdbcUtils.release(conn, st, rs);
            }
            
            long endtime = System.currentTimeMillis();
            
            System.out.println("程序花费时间:" + (endtime-starttime)/1000 + "秒!!");
        }
    
    }
  • 相关阅读:
    csu1217: 奇数个的那个数
    小试SAS 判别分析
    bfs poj2965
    STL set常用操作
    csu1002 A+B(III)
    HDOJ 1002 的几种方法
    SQL知识积累
    CSV文件格式介绍
    ASP.net Web Form 知识积累
    C# 位域[flags] 枚举
  • 原文地址:https://www.cnblogs.com/lichone2010/p/3178677.html
Copyright © 2011-2022 走看看