StringBuffer addsql = new StringBuffer(1000); int batchSize = 50; int executeTime = 0; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"for (int i=0; i<trackIds.size(); i++) { if(i/batchSize > executeTime) {//50轮执行一次sql(拷贝数据量太大) String sql = addsql.substring(0,addsql.length() - 1); baseJdbcDao.exceute(sql,null); executeTime++;执行次数++ } if(i%batchSize == 0) {50轮重新拼接sql(防止sql过长) addsql = addsql.delete(0,addsql.length()); addsql.append("insert into " + DatabaseConstants.BASE + ".yk_behavior_monitor (TRACK_ID,PROGRAM_ID," + "BEHAVIOR_ID,ACTION_TOTAL,ACTION_COMPLETED,CREATED_BY,CREATED_DATE,LAST_UPDATED_BY,LAST_UPDATED_DATE,REMOVE_FLAG) values"); } for (Integer behaviorId : behaviorIds) { addsql.append("("); addsql.append(trackIds.get(i) + ","); addsql.append(programId + ",1)">); addsql.append(behaviorId + ",1)">); addsql.append("0,1)">); addsql.append(user.getUserId() + ",1)">); addsql.append("'" + sdf.format(new Date()) + "',1)">); addsql.append("0),1)">); } } String sql = addsql.substring(0,1)">); baseJdbcDao.exceute(sql,1)">null);