zoukankan      html  css  js  c++  java
  • jdbc之statement 与 preparedment

    1、statement

     @org.junit.Test
        public void teststatement() throws Exception {
            long start = System.currentTimeMillis();
            //创建连接
            String driverClass = "com.mysql.jdbc.Driver";
            String url = "jdbc:mysql://localhost:3306/mysql_jdbc";
            String username = "root";
            String password = "root";
            Class.forName(driverClass);
            Connection con = DriverManager.getConnection(url, username, password);
            //关闭自动提交
            con.setAutoCommit(false);
    
            //创建语句
            Statement st = con.createStatement();
            for(int i = 1; i < 10000 ; i++){
                String sql = "insert into student values( " + i + " , " + "'tom "+ i  + "', " + (i % 100) + ")";
                st.execute(sql);
            }
            //提交
            con.commit();
    
            st.close();
            con.close();
            long time = System.currentTimeMillis() - start;
            System.out.println(time);//885
        }

    2、prepared statement

     @org.junit.Test
        public void testpreparedstatement() throws Exception {
            long start = System.currentTimeMillis();
            //创建连接
            String driverClass = "com.mysql.jdbc.Driver";
            String url = "jdbc:mysql://localhost:3306/mysql_jdbc";
            String username = "root";
            String password = "root";
            Class.forName(driverClass);
            Connection con = DriverManager.getConnection(url, username, password);
            //关闭自动提交
            con.setAutoCommit(false);
    
            //创建预处理语句
            String sql = "insert into student values( ?,?,?)";
            PreparedStatement ps = con.prepareStatement(sql);
    
            for(int i = 1; i < 10000 ; i++){
                ps.setInt(1,i);
                ps.setString(2,"tom" + i);
                ps.setInt(3,i % 100);
                //注意这里执行的是更新操作
                ps.executeUpdate();
            }
            //提交
            con.commit();
    
            ps.close();
            con.close();
            long time = System.currentTimeMillis() - start;
            System.out.println(time);//928
        }

    3、prepared statement 批处理

     @org.junit.Test
        public void testpreparedstatement() throws Exception {
            long start = System.currentTimeMillis();
            //创建连接
            String driverClass = "com.mysql.jdbc.Driver";
            String url = "jdbc:mysql://localhost:3306/mysql_jdbc";
            String username = "root";
            String password = "root";
            Class.forName(driverClass);
            Connection con = DriverManager.getConnection(url, username, password);
            //关闭自动提交
            con.setAutoCommit(false);
    
            //创建预处理语句
            String sql = "insert into student values( ?,?,?)";
            PreparedStatement ps = con.prepareStatement(sql);
    
            for(int i = 1; i < 100000 ; i++){
                ps.setInt(1,i);
                ps.setString(2,"tom" + i);
                ps.setInt(3,i % 100);
                ps.addBatch();//放在set的后面
                if(i % 200 == 0 ){
                    ps.executeBatch();
                }
            }
            ps.executeBatch();
            //提交
            con.commit();
    
            ps.close();
            con.close();
            long time = System.currentTimeMillis() - start;
            System.out.println(time);//5351
        }
    欢迎关注我的公众号:小秋的博客 CSDN博客:https://blog.csdn.net/xiaoqiu_cr github:https://github.com/crr121 联系邮箱:rongchen633@gmail.com 有什么问题可以给我留言噢~
  • 相关阅读:
    [BZOJ1492][NOI2007]货币兑换Cash(斜率优化+CDQ分治)
    [P1768]天路(分数规划+SPFA判负环)
    [BZOJ5109][LOJ #6252][P4061][CodePlus 2017 11月赛]大吉大利,今晚吃鸡!(最短路+拓扑排序+传递闭包+map+bitset(hash+压位))
    [BZOJ1040][ZJOI2008]骑士(环套树dp)
    [P3759][TJOI2017]不勤劳的图书管理员(分块+树状数组)
    [CF665F]Four Divisors
    [LOJ6235]区间素数个数
    [SDOI2015]约数个数和
    [BZOJ3944]Sum
    [BZOJ2671]Calc
  • 原文地址:https://www.cnblogs.com/flyingcr/p/10326907.html
Copyright © 2011-2022 走看看