zoukankan      html  css  js  c++  java
  • JAVA JDBC 批量操作

    批量操作,可以使用批量操作,和手动提交实务增加速度

    批量操作和手动提交

                //设置不允许自动提交数据
                conn.setAutoCommit(false);
                
                String sql = "insert into goods(name)values(?)";
                ps = conn.prepareStatement(sql);
                for(int i = 1;i <= 1000000;i++){
                    ps.setObject(1, "name_" + i);
                    
                    //1."攒"sql
                    ps.addBatch();
                    
                    if(i % 500 == 0){
                        //2.执行batch
                        ps.executeBatch();
                        
                        //3.清空batch
                        ps.clearBatch();
                    }
                    
                }
                
                //提交数据
                conn.commit();
    //批量插入的方式四:设置连接不允许自动提交数据
        @Test
        public void testInsert3() {
            Connection conn = null;
            PreparedStatement ps = null;
            try {
                
                long start = System.currentTimeMillis();
                
                conn = JDBCUtils.getConnection();
                
                //设置不允许自动提交数据
                conn.setAutoCommit(false);
                
                String sql = "insert into goods(name)values(?)";
                ps = conn.prepareStatement(sql);
                for(int i = 1;i <= 1000000;i++){
                    ps.setObject(1, "name_" + i);
                    
                    //1."攒"sql
                    ps.addBatch();
                    
                    if(i % 500 == 0){
                        //2.执行batch
                        ps.executeBatch();
                        
                        //3.清空batch
                        ps.clearBatch();
                    }
                    
                }
                
                //提交数据
                conn.commit();
                
                long end = System.currentTimeMillis();
                
                System.out.println("花费的时间为:" + (end - start));//20000:83065 -- 565
            } catch (Exception e) {                                //1000000:16086 -- 5114
                e.printStackTrace();
            }finally{
                JDBCUtils.closeResource(conn, ps);
                
            }
            
        }
    完整代码
  • 相关阅读:
    C++_学习随笔_牛郎织女迷宫
    UE4复习5_蓝图接口简单应用
    UE4复习4_射线检测
    今日份学习: Spring中使用AOP并实现redis缓存?
    动态代理,AOP和Spring
    今日份学习:初步的springboot
    HTML常用标签
    关于类的笔记
    关于编码的一个笔记
    Java Socket例程3 UDP
  • 原文地址:https://www.cnblogs.com/superxuezhazha/p/12408542.html
Copyright © 2011-2022 走看看