java 批处理sql

开发中遇到需要批处理的;特此记录下

 // 数据库配置
        String dbKey = XhjFinalData.db;
        // 数据库ip
        String dbIpKey = XhjFinalData.dbIp;
        // 数据库名称
        String dbNameKey = XhjFinalData.dbName;
        // 数据库登录账号
        String dbNoKey = XhjFinalData.dbNo;
        // 数据库登录密码
        String dbPwdKey = XhjFinalData.dbPwd;
        String dbIp = (String) jsonDataMap.get(dbIpKey);
        String dbName = (String) jsonDataMap.get(dbNameKey);
        String dbNo = (String) jsonDataMap.get(dbNoKey);
        String dbPwd = (String) jsonDataMap.get(dbPwdKey);
        String url = "";
        // 构建一个以ID为键 实体为值的map
        Map<String, XhjWechatChattingRecordsEntity> map = new HashMap<String, XhjWechatChattingRecordsEntity>();
        if (StringUtils.isEmpty(dbIp) || StringUtils.isEmpty(dbName) || StringUtils.isEmpty(dbNo)) {
            return "";
        } else {
            // 批处理
            int a = 1;
            int b = 1;
            int c = 1;
            url = "jdbc:mysql://" + dbIp + ":3306/" + dbName + "?useUnicode=true&characterEncoding=UTF-8";
            Connection conn;
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(url, dbNo, dbPwd);
            // Connection的自动提交模式关闭,默认是true(自动提交)
            boolean autoCommit = conn.getAutoCommit();
            if (true == autoCommit) {
                conn.setAutoCommit(false);
            }
            Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
        int flag = 0;
                     for(chattingRecordsEntityList (需要循环处理的数据) ){
           String sql = "insert into  tableName"+ " set id = '" + uuid + "',msg_id = '"
                  + chattingRecordsEntity.getMsgId()  + ......
                  stmt.addBatch(sql);
               }
               if (flag == chattingRecordsEntityList.size()) {
                 stmt.executeBatch();
                 stmt.clearBatch();
                 conn.commit();
                 System.out.println(new Date() + "  :  " + "本次新增数据" + flag + "条");
                }
               flag += 1;
            }                             
           conn.close();    
    }
}

猜你喜欢

转载自www.cnblogs.com/huilangyizu/p/10706147.html
今日推荐