并发链接,大批量写入数据的mysql插入优化

package com.xtuone.friday.server.modules.curriculum.fetchData.insert;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.codec.digest.DigestUtils;

import com.mysql.jdbc.Statement;
import com.xtuone.friday.server.modules.curriculum.fetchData.bo.Emptyclassmessage;
import com.xtuone.friday.server.modules.curriculum.fetchData.bo.Emptyclassroom;
import com.xtuone.friday.server.modules.curriculum.fetchData.crawl.free.CompareSection4RoomMsg;
import com.xtuone.friday.server.modules.curriculum.fetchData.utils.ConnectionUtil;

public class InsertNew {
	public static void RoomListInsertTemp(Map<String, Integer> roomMd5Map, List<Emptyclassroom> emptyclassroomList, Emptyclassmessage emptyclassmessage) {
		RoomListInsert(roomMd5Map, emptyclassroomList, emptyclassmessage, "emptyclassmessagetemp");
	}

	public static void RoomListInsertNormal(Map<String, Integer> roomMd5Map, List<Emptyclassroom> emptyclassroomList, Emptyclassmessage emptyclassmessage) {
		RoomListInsert(roomMd5Map, emptyclassroomList, emptyclassmessage, "emptyclassmessage_fromschool");
	}

	public static void MessageListInsertTemp(Map<String, Integer> roomMd5Map, Emptyclassroom emptyclassroom, List<Emptyclassmessage> emptyclassmessageList) {
		MessageListInsert(roomMd5Map, emptyclassroom, emptyclassmessageList, "emptyclassmessagetemp");
	}

	public static void MessageListInsertNormal(Map<String, Integer> roomMd5Map, Emptyclassroom emptyclassroom, List<Emptyclassmessage> emptyclassmessageList) {
		MessageListInsert(roomMd5Map, emptyclassroom, emptyclassmessageList, "emptyclassmessage_fromschool");
	}

	/**
	 * 教室和空闲信息(n:1)写入方法【注意各个方法的加密方式要统一】
	 * 
	 * @param roomMd5Map
	 * @param emptyclassroomList
	 * @param emptyclassmessage
	 * @param emptyClassMsgTable
	 */
	public static void RoomListInsert(Map<String, Integer> roomMd5Map, List<Emptyclassroom> emptyclassroomList, Emptyclassmessage emptyclassmessage,
			String emptyClassMsgTable) {
		// if()
		Connection conn = null;
		conn = ConnectionUtil.getConnection();
		int schoolId = emptyclassmessage.getSchoolId();

		String ClASS_SEQUENCE_SEPARATOR = ">@<";

		PreparedStatement pstm = null;
		PreparedStatement pstmRoom = null;
		PreparedStatement pstmMess = null;

		try {
			// 生成这间学校的所有教室信息的map
			if (roomMd5Map.isEmpty()) { // 为空说明第一次进行操作
				ResultSet rs = null;
				String md5Sql = "SELECT id,sequence FROM emptyclassroom_fromschool WHERE schoolId = ?";
				pstm = conn.prepareStatement(md5Sql);// 判断数据库中是否存在当前教室信息
				pstm.setInt(1, schoolId);
				rs = pstm.executeQuery();
				// 把数据库当前学校的教室信息查询出来存入到md5Map中
				while (rs.next()) { // 已经存在
					int classId = rs.getInt(1);
					String sequence = rs.getString(2);
					roomMd5Map.put(sequence, classId);
				}
				rs.close();
			}
			// 保存教室空闲详情map
			String dateStart = emptyclassmessage.getDateStart();
			dateStart = dateStart == null ? "" : dateStart;
			int day = emptyclassmessage.getDay();

			Map<String, Integer> messMd5Map = new HashMap<String, Integer>();
			ResultSet rs = null;
			pstm = null;
			String md5Sql = "SELECT sequence FROM " + emptyClassMsgTable + " WHERE schoolId = ? ";
			if (!dateStart.equals("")) {
				md5Sql = md5Sql + "AND dateStart = ?";
			}
			if (day != 0) {
				md5Sql = md5Sql + " AND day = ?";
			}

			pstm = conn.prepareStatement(md5Sql);
			pstm.setInt(1, schoolId);
			if (!dateStart.equals("")) {
				pstm.setString(2, dateStart);
			}
			if (day != 0) {
				if (dateStart.equals("")) {
					pstm.setInt(2, day);
				} else {
					pstm.setInt(3, day);
				}
			}
			// System.out.println("pstm:"+pstm);
			rs = pstm.executeQuery();
			while (rs.next()) { // 已经存在
				String sequence = rs.getString(1);
				messMd5Map.put(sequence, 1);
			}
			rs.close();

			// 新教室写入
			String newClassRoomsql = "INSERT INTO emptyclassroom_fromschool(schoolId,campus,building,classroom,classroomType,emptyPlace,message,sequence) "
					+ "VALUES (?,?,?,?,?,?,?,?)";
			// String[] columnNames= {"id"} ;
			pstmRoom = conn.prepareStatement(newClassRoomsql, Statement.RETURN_GENERATED_KEYS);
			conn.setAutoCommit(false);
			List<Integer> emptyclassroomIds = new ArrayList<Integer>();
			List<String> needAddSequence = new ArrayList<String>();

			// 循环教室列表
			for (Emptyclassroom emptyclassroom : emptyclassroomList) {
				int emptyclassroomId = 0;
				String classroomContent = schoolId + ClASS_SEQUENCE_SEPARATOR;
				// 写入班级---不可为空
				String classroom = emptyclassroom.getClassroom();
				classroom = classroom == null ? "" : classroom;
				classroomContent += classroom + ClASS_SEQUENCE_SEPARATOR;

				// ---可以为空
				String campus = emptyclassroom.getCampus();
				campus = campus == null ? "" : campus;
				classroomContent += campus + ClASS_SEQUENCE_SEPARATOR;

				String building = emptyclassroom.getBuilding();
				building = building == null ? "" : building;
				classroomContent += building + ClASS_SEQUENCE_SEPARATOR;

				String classroomType = emptyclassroom.getClassroomType();
				classroomType = classroomType == null ? "" : classroomType;
				classroomContent += classroomType + ClASS_SEQUENCE_SEPARATOR;

				int emptyPlace = emptyclassroom.getEmptyPlace();
				classroomContent += emptyPlace + ClASS_SEQUENCE_SEPARATOR;

				String message = emptyclassroom.getMessage();
				message = message == null ? "" : message;
				classroomContent += message + ClASS_SEQUENCE_SEPARATOR;

				// 需要写入的教室信息,md5提取信息
				String classroomSequence = DigestUtils.md5Hex(classroomContent);

				// 判断要写入的教室是否存在
				if (roomMd5Map.containsKey(classroomSequence)) {
					emptyclassroomId = roomMd5Map.get(classroomSequence);
					emptyclassroomIds.add(emptyclassroomId);
				} else {
					pstmRoom.setInt(1, schoolId);
					pstmRoom.setString(2, campus);
					pstmRoom.setString(3, building);
					pstmRoom.setString(4, classroom);
					pstmRoom.setString(5, classroomType);
					pstmRoom.setInt(6, emptyPlace);
					pstmRoom.setString(7, message);
					pstmRoom.setString(8, classroomSequence);

					pstmRoom.addBatch();
					needAddSequence.add(classroomSequence);
				}
			}

			// 获得批量写入后返回的key值列表
			pstmRoom.executeBatch();
			conn.commit();
			ResultSet rsR = pstmRoom.getGeneratedKeys();
			int i = 0;
			while (rsR.next()) {
				int id = rsR.getInt(1);
				String seq = needAddSequence.get(i);
				// System.out.println(id+"---------------------------------------------------------------"+
				// seq);
				emptyclassroomIds.add(id);
				roomMd5Map.put(seq, id);// 添加新的到map中
				i++;
			}
			// System.out.println("emptyclassroomIds:"+emptyclassroomIds);
			rsR.close();
			if (pstmRoom != null)
				pstmRoom.close();
			// 教室列表空闲详情相同部分初始化
			// String insertMessSql = "INSERT INTO "+ emptyClassMsgTable
			// +" (classid,schoolId,period,dateStart,dateEnd,day,sectionStart,sectionEnd,beginTime,endTime,smartPeriod,beginYear,term,sequence) "
			// + "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
			String insertMessSql = "INSERT INTO " + emptyClassMsgTable
					+ "(classid,schoolId,beginYear,term,period,smartPeriod,dateStart,dateEnd,day,sectionStart,sectionEnd,beginTime,endTime,sequence) "
					+ "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
			pstmMess = conn.prepareStatement(insertMessSql);

			// String classMessContent = emptyclassroomId +
			// ClASS_SEQUENCE_SEPARATOR;
			String classMessContent = ClASS_SEQUENCE_SEPARATOR;

			String smartPeriod = emptyclassmessage.getSmartPeriod();
			smartPeriod = smartPeriod == null ? "" : smartPeriod;
			classMessContent += smartPeriod + ClASS_SEQUENCE_SEPARATOR;

			String period = emptyclassmessage.getPeriod();
			period = period == null ? "" : period;
			classMessContent += period + ClASS_SEQUENCE_SEPARATOR;

			classMessContent += dateStart + ClASS_SEQUENCE_SEPARATOR;

			String dateEnd = emptyclassmessage.getDateEnd();
			dateEnd = dateEnd == null ? "" : dateEnd;
			classMessContent += dateEnd + ClASS_SEQUENCE_SEPARATOR;

			int beginYear = emptyclassmessage.getBeginYear();
			classMessContent += beginYear + ClASS_SEQUENCE_SEPARATOR;

			int term = emptyclassmessage.getTerm();
			classMessContent += term + ClASS_SEQUENCE_SEPARATOR;

			classMessContent += day + ClASS_SEQUENCE_SEPARATOR;

			int sectionStart = emptyclassmessage.getSectionStart();
			classMessContent += sectionStart + ClASS_SEQUENCE_SEPARATOR;

			int sectionEnd = emptyclassmessage.getSectionEnd();
			classMessContent += sectionEnd + ClASS_SEQUENCE_SEPARATOR;

			String beginTime = emptyclassmessage.getBeginTime();
			beginTime = beginTime == null ? "" : beginTime;
			classMessContent += beginTime + ClASS_SEQUENCE_SEPARATOR;

			String endTime = emptyclassmessage.getEndTime();
			endTime = endTime == null ? "" : endTime;
			classMessContent += endTime + ClASS_SEQUENCE_SEPARATOR;

			// classid,schoolId,beginYear,term,period,smartPeriod,dateStart,dateEnd,day,sectionStart,sectionEnd,beginTime,endTime,sequence
			// pstmMess.setInt(1, emptyclassroomId);
			pstmMess.setInt(2, schoolId);
			pstmMess.setInt(3, beginYear);
			pstmMess.setInt(4, term);
			pstmMess.setString(5, period);
			pstmMess.setString(6, smartPeriod);
			pstmMess.setString(7, dateStart.equals("") ? null : dateStart);
			pstmMess.setString(8, dateEnd.equals("") ? null : dateEnd);
			pstmMess.setInt(9, day);
			pstmMess.setInt(10, sectionStart);
			pstmMess.setInt(11, sectionEnd);
			pstmMess.setString(12, beginTime);
			pstmMess.setString(13, endTime);

			for (int emptyclassroomId : emptyclassroomIds) {
				String classMessContent1 = emptyclassroomId + classMessContent;
				// 需要写入的教室详细空闲信息,md5提取信息
				String classmessSequence = DigestUtils.md5Hex(classMessContent1);
				if (!messMd5Map.containsKey(classmessSequence)) {
					pstmMess.setInt(1, emptyclassroomId);
					pstmMess.setString(14, classmessSequence);
					messMd5Map.put(classmessSequence, 1);
					pstmMess.addBatch();
				}
			}

			Date S = new Date();
			pstmMess.executeBatch();
			conn.commit();
			if (pstmMess != null)
				pstmMess.close();
			Date E = new Date();

			System.out.print("(" + (E.getTime() - S.getTime()) + ")");
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (pstm != null)
					pstm.close();
				if (conn != null)
					conn.close();
			} catch (SQLException e) {
			}
		}

	}

	/**
	 * 教室和空闲信息(1:n)写入方法【注意各个方法的加密方式要统一】
	 * 
	 * @param roomMd5Map
	 * @param emptyclassroom
	 * @param emptyclassmessageList
	 * @param emptyClassMsgTable
	 */
	public static void MessageListInsert(Map<String, Integer> roomMd5Map, Emptyclassroom emptyclassroom, List<Emptyclassmessage> emptyclassmessageList,
			String emptyClassMsgTable) {
		// 查询有没有这间空教室的信息
		Connection conn = null;
		conn = ConnectionUtil.getConnection();

		int schoolId = emptyclassroom.getSchoolId();
		int emptyclassroomId = 0;

		// 当前传入教室的md5值(学校id+)
		String ClASSROOM_SEQUENCE_SEPARATOR = ">@<";
		String classroomContent = schoolId + ClASSROOM_SEQUENCE_SEPARATOR;
		// 写入班级---不可为空
		String classroom = emptyclassroom.getClassroom();
		classroom = classroom == null ? "" : classroom;
		classroomContent += classroom + ClASSROOM_SEQUENCE_SEPARATOR;

		// ---可以为空
		String campus = emptyclassroom.getCampus();
		campus = campus == null ? "" : campus;
		classroomContent += campus + ClASSROOM_SEQUENCE_SEPARATOR;

		String building = emptyclassroom.getBuilding();
		building = building == null ? "" : building;
		classroomContent += building + ClASSROOM_SEQUENCE_SEPARATOR;

		String classroomType = emptyclassroom.getClassroomType();
		classroomType = classroomType == null ? "" : classroomType;
		classroomContent += classroomType + ClASSROOM_SEQUENCE_SEPARATOR;

		int emptyPlace = emptyclassroom.getEmptyPlace();
		classroomContent += emptyPlace + ClASSROOM_SEQUENCE_SEPARATOR;

		String message = emptyclassroom.getMessage();
		message = message == null ? "" : message;
		classroomContent += message + ClASSROOM_SEQUENCE_SEPARATOR;

		// 需要写入的教室信息,md5提取信息
		String classroomSequence = DigestUtils.md5Hex(classroomContent);

		PreparedStatement pstm = null;
		try {
			if (roomMd5Map.isEmpty()) { // 为空说明第一次进行操作
				ResultSet rs = null;
				String md5Sql = "SELECT id,sequence FROM emptyclassroom_fromschool WHERE schoolId = ?";
				pstm = conn.prepareStatement(md5Sql);// 判断数据库中是否存在当前教室信息
				pstm.setInt(1, schoolId);
				rs = pstm.executeQuery();

				// 把数据库当前学校的教室信息查询出来存入到md5Map中
				while (rs.next()) { // 已经存在
					int classId = rs.getInt(1);
					String sequence = rs.getString(2);
					roomMd5Map.put(sequence, classId);
				}
				rs.close();
			}
			// 判断要写入的教室是否存在
			if (roomMd5Map.containsKey(classroomSequence)) {
				emptyclassroomId = roomMd5Map.get(classroomSequence);
			} else {
				ResultSet rs = null;
				// 新教室写入
				String newClassRoomsql = "INSERT INTO emptyclassroom_fromschool(schoolId,classroom,campus,building,classroomType,emptyPlace,message,sequence) "
						+ "VALUES (?,?,?,?,?,?,?,?)";
				pstm = conn.prepareStatement(newClassRoomsql, Statement.RETURN_GENERATED_KEYS);
				pstm.setInt(1, schoolId);
				pstm.setString(2, classroom);
				pstm.setString(3, campus);
				pstm.setString(4, building);
				pstm.setString(5, classroomType);
				pstm.setInt(6, emptyPlace);
				pstm.setString(7, message);
				pstm.setString(8, classroomSequence);

				// System.out.println(pstm);
				pstm.execute();
				rs = pstm.getGeneratedKeys();
				if (rs != null && rs.next()) {
					emptyclassroomId = rs.getInt(1);
				}
				rs.close();
				roomMd5Map.put(classroomSequence, emptyclassroomId);// 添加到map中

			}
			// 拼接insertMessage语句
			if (emptyclassroomId != 0) {
				PreparedStatement pstm1 = null;
				Map<String, Integer> md5MapForMess = new HashMap<String, Integer>();
				ResultSet rs = null;
				// 本地缓存,方便查询
				if (md5MapForMess.isEmpty()) { // 为空说明第一次写入当前教室的详细空课程信息
					String md5Sql = "SELECT sequence FROM " + emptyClassMsgTable + " WHERE classid = ?";

					pstm = conn.prepareStatement(md5Sql);// 判断数据库中是否存在当前教室详细的空闲信息
					pstm.setInt(1, emptyclassroomId);

					rs = pstm.executeQuery();
					// 把数据库当前教室详细的空闲信息查询出来存入到md5Map中
					while (rs.next()) { // 已经存在
						String sequence = rs.getString(1);
						md5MapForMess.put(sequence, 1);
					}
					rs.close();
					// pstm.clearBatch();
					// pstmt.clearParameters();

				}

				// 生成唯一序列值
				String ClASSMESS_SEQUENCE_SEPARATOR = ">@<";
				String insertMessSql = "INSERT INTO " + emptyClassMsgTable
						+ "(classid,schoolId,period,smartPeriod,day,sectionStart,sectionEnd,beginTime,endTime,beginYear,term,sequence) "
						+ "VALUES (?,?,?,?,?,?,?,?,?,?,?,?)";
				conn.setAutoCommit(false);
				pstm1 = conn.prepareStatement(insertMessSql);

				for (Emptyclassmessage emptyclassmessage : emptyclassmessageList) {
					String classMessContent = emptyclassroomId + ClASSMESS_SEQUENCE_SEPARATOR;

					String smartPeriod = emptyclassmessage.getSmartPeriod();
					smartPeriod = smartPeriod == null ? "" : smartPeriod;
					classMessContent += smartPeriod + ClASSMESS_SEQUENCE_SEPARATOR;

					String period = emptyclassmessage.getPeriod();
					period = period == null ? "" : period;
					classMessContent += period + ClASSMESS_SEQUENCE_SEPARATOR;

					// String dateStart = emptyclassmessage.getdateStart();
					// dateStart = dateStart == null ? "" : dateStart;
					// String dateEnd = emptyclassmessage.getdateEnd();
					// dateEnd = dateEnd == null ? "" : dateEnd;
					classMessContent += "" + ClASSMESS_SEQUENCE_SEPARATOR;
					classMessContent += "" + ClASSMESS_SEQUENCE_SEPARATOR;

					int beginYear = emptyclassmessage.getBeginYear();
					classMessContent += beginYear + ClASSMESS_SEQUENCE_SEPARATOR;

					int term = emptyclassmessage.getTerm();
					classMessContent += term + ClASSMESS_SEQUENCE_SEPARATOR;

					int day = emptyclassmessage.getDay();
					classMessContent += day + ClASSMESS_SEQUENCE_SEPARATOR;

					int sectionStart = emptyclassmessage.getSectionStart();
					classMessContent += sectionStart + ClASSMESS_SEQUENCE_SEPARATOR;

					int sectionEnd = emptyclassmessage.getSectionEnd();
					classMessContent += sectionEnd + ClASSMESS_SEQUENCE_SEPARATOR;

					String beginTime = emptyclassmessage.getBeginTime();
					beginTime = beginTime == null ? "" : beginTime;
					classMessContent += beginTime + ClASSMESS_SEQUENCE_SEPARATOR;

					String endTime = emptyclassmessage.getEndTime();
					endTime = endTime == null ? "" : endTime;
					classMessContent += endTime + ClASSMESS_SEQUENCE_SEPARATOR;

					// 需要写入的教室详细空闲信息,md5提取信息
					String classmessSequence = DigestUtils.md5Hex(classMessContent);
					// 判断要写入的教室是否存在
					if (!md5MapForMess.containsKey(classmessSequence)) {
						// 拼接进要写入的insert中
						// classid,schoolId,period,smartPeriod,day,sectionStart,sectionEnd,beginTime,endTime,beginYear,term
						pstm1.setInt(1, emptyclassroomId);
						pstm1.setInt(2, schoolId);
						pstm1.setString(3, period);
						pstm1.setString(4, smartPeriod);
						pstm1.setInt(5, day);
						pstm1.setInt(6, sectionStart);
						pstm1.setInt(7, sectionEnd);
						pstm1.setString(8, beginTime);
						pstm1.setString(9, endTime);
						pstm1.setInt(10, beginYear);
						pstm1.setInt(11, term);
						pstm1.setString(12, classmessSequence);

						pstm1.addBatch();
						// 并且存入map
						md5MapForMess.put(classmessSequence, 1);
					}
				}
				Date S = new Date();
				pstm1.executeBatch();
				conn.commit();
				if (pstm1 != null)
					pstm1.close();
				Date E = new Date();

				System.out.print("(" + (E.getTime() - S.getTime()) + ")");

			} else {
				// return "空教室添加失败,莫有外键哟";
			}
		} catch (Exception e) {
			e.printStackTrace();
			// return "空教室详情添加失败外:" + emptyclassmessageList;
		} finally {
			try {
				if (pstm != null)
					pstm.close();
				if (conn != null)
					conn.close();
			} catch (SQLException e) {
			}
		}
	}

	/**
	 * 数据库Message临时表写入正式表(并且合并)
	 * 
	 * @param maxDay
	 * @param schoolId
	 * @param beginYear
	 * @param term
	 * @param periodType
	 */
	public static void moveTempToNormal(int maxDay, int schoolId, int beginYear, int term, String periodType) {
		Connection conn = null;
		conn = ConnectionUtil.getConnection();

		PreparedStatement pstm = null;
		PreparedStatement pstm1 = null;

		try {

			List<Emptyclassmessage> emptyclassmessages = new ArrayList<Emptyclassmessage>();
			Emptyclassmessage message = null;

			for (int i = 1; i <= maxDay; i++) {
				String sql = "select classid,"
						+ periodType
						+ ",`day`,sectionStart,sectionEnd from emptyclassmessagetemp where schoolId = ? and beginYear = ? AND term = ? AND day = ? order by classid asc,"
						+ periodType + " + 0 asc;";
				pstm = conn.prepareStatement(sql);
				pstm.setInt(1, schoolId);
				pstm.setInt(2, beginYear);
				pstm.setInt(3, term);
				pstm.setInt(4, i);
				ResultSet rs = null;
				rs = pstm.executeQuery();
				while (rs.next()) {

					message = new Emptyclassmessage();
					message.setClassid(rs.getInt(1));
					message.setSchoolId(schoolId);
					message.setSmartPeriod(rs.getString(2));
					message.setDay(rs.getInt(3));
					message.setSectionStart(rs.getInt(4));
					message.setSectionEnd(rs.getInt(5));
					message.setBeginYear(beginYear);
					message.setTerm(term);
					emptyclassmessages.add(message);

				}
				rs.close();
				mergeEmptyRoomMsgs(emptyclassmessages); // 合并该校当天课程

				// 写入正式message数据库
				System.out.println("Save to db.........");

				Map<String, Integer> md5MapForMess = new HashMap<String, Integer>();
				if (md5MapForMess.isEmpty()) { // 为空说明第一次进行操作
					rs = null;
					String md5Sql = "SELECT sequence FROM emptyclassmessage_fromschool WHERE schoolId = ?";
					pstm = conn.prepareStatement(md5Sql);// 判断数据库中是否存在当前教室信息
					pstm.setInt(1, schoolId);
					rs = pstm.executeQuery();

					// 把数据库当前学校的教室信息查询出来存入到md5Map中
					while (rs.next()) { // 已经存在
						String sequence = rs.getString(1);
						md5MapForMess.put(sequence, 1);
					}
					rs.close();
				}

				String ClASSMESS_SEQUENCE_SEPARATOR = ">@<";
				String insertMessSql = "INSERT INTO emptyclassmessage_fromschool (classid,schoolId,period,smartPeriod,day,sectionStart,sectionEnd,beginTime,endTime,beginYear,term,sequence) "
						+ "VALUES (?,?,?,?,?,?,?,?,?,?,?,?)";
				conn.setAutoCommit(false);
				pstm1 = conn.prepareStatement(insertMessSql);

				for (Emptyclassmessage emptyclassmessage : emptyclassmessages) {
					int emptyclassroomId = emptyclassmessage.getClassid();
					String classMessContent = emptyclassroomId + ClASSMESS_SEQUENCE_SEPARATOR;

					String smartPeriod = emptyclassmessage.getSmartPeriod();
					smartPeriod = smartPeriod == null ? "" : smartPeriod;
					classMessContent += smartPeriod + ClASSMESS_SEQUENCE_SEPARATOR;

					String period = emptyclassmessage.getPeriod();
					period = period == null ? "" : period;
					classMessContent += period + ClASSMESS_SEQUENCE_SEPARATOR;

					// String dateStart = emptyclassmessage.getdateStart();
					// dateStart = dateStart == null ? "" : dateStart;
					// String dateEnd = emptyclassmessage.getdateEnd();
					// dateEnd = dateEnd == null ? "" : dateEnd;
					classMessContent += "" + ClASSMESS_SEQUENCE_SEPARATOR;
					classMessContent += "" + ClASSMESS_SEQUENCE_SEPARATOR;

					classMessContent += beginYear + ClASSMESS_SEQUENCE_SEPARATOR;

					classMessContent += term + ClASSMESS_SEQUENCE_SEPARATOR;

					classMessContent += i + ClASSMESS_SEQUENCE_SEPARATOR;

					int sectionStart = emptyclassmessage.getSectionStart();
					classMessContent += sectionStart + ClASSMESS_SEQUENCE_SEPARATOR;

					int sectionEnd = emptyclassmessage.getSectionEnd();
					classMessContent += sectionEnd + ClASSMESS_SEQUENCE_SEPARATOR;

					String beginTime = emptyclassmessage.getBeginTime();
					classMessContent += (beginTime == null ? "" : beginTime) + ClASSMESS_SEQUENCE_SEPARATOR;

					String endTime = emptyclassmessage.getEndTime();
					classMessContent += (endTime == null ? "" : endTime) + ClASSMESS_SEQUENCE_SEPARATOR;

					// 需要写入的教室详细空闲信息,md5提取信息
					String classmessSequence = DigestUtils.md5Hex(classMessContent);
					// 判断要写入的教室是否存在
					if (!md5MapForMess.containsKey(classmessSequence)) {
						// 拼接进要写入的insert中
						// classid,schoolId,period,smartPeriod,day,sectionStart,sectionEnd,beginTime,endTime,beginYear,term
						pstm1.setInt(1, emptyclassroomId);
						pstm1.setInt(2, schoolId);
						pstm1.setString(3, period);
						pstm1.setString(4, smartPeriod);
						pstm1.setInt(5, i);
						pstm1.setInt(6, sectionStart);
						pstm1.setInt(7, sectionEnd);
						pstm1.setString(8, beginTime);
						pstm1.setString(9, endTime);
						pstm1.setInt(10, beginYear);
						pstm1.setInt(11, term);
						pstm1.setString(12, classmessSequence);
						System.out.println(smartPeriod);
						pstm1.addBatch();
						// 并且存入map
						md5MapForMess.put(classmessSequence, 1);
					} else {
						System.out.println("----------------------存在了S--------------------");
						System.out.println(emptyclassmessage);
						System.out.println(classmessSequence);
						System.out.println("----------------------存在了E--------------------");
					}
				}
				Date S = new Date();
				pstm1.executeBatch();
				conn.commit();
				if (pstm1 != null)
					pstm1.close();
				Date E = new Date();

				System.out.println("(" + (E.getTime() - S.getTime()) + ")");
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (pstm != null)
					pstm.close();
				if (conn != null)
					conn.close();
			} catch (SQLException e) {
			}
		}

	}

	/**
	 * 数据库Message临时表写入正式表(并且合并)
	 * 
	 * @param maxDay
	 * @param schoolId
	 * @param beginYear
	 * @param term
	 * @param periodType
	 */
	public static void moveTempToNormal2( int schoolId, int beginYear, int term) {
		Connection conn = null;
		conn = ConnectionUtil.getConnection();

		PreparedStatement pstm = null;

		try {

			List<Emptyclassmessage> emptyclassmessages = new ArrayList<Emptyclassmessage>();
			Emptyclassmessage message = null;

//			for (int i = 1; i <= maxDay; i++) {
				String sql = "SELECT classid,dateStart,dateEnd,sectionStart,sectionEnd FROM emptyclassmessagetemp WHERE schoolId = ? and beginYear = ? AND term = ?  ORDER BY classid ,dateStart, sectionStart,sectionEnd ";
				pstm = conn.prepareStatement(sql);
				pstm.setInt(1, schoolId);
				pstm.setInt(2, beginYear);
				pstm.setInt(3, term);
				ResultSet rs = null;
				rs = pstm.executeQuery();
				while (rs.next()) {

					message = new Emptyclassmessage();
					message.setClassid(rs.getInt(1));
					message.setSchoolId(schoolId);
//					message.setSmartPeriod(rs.getString(2));
//					message.setDay(rs.getInt(3));
					message.setDateStart(rs.getString(2));
					message.setDateEnd(rs.getString(3));
					message.setSectionStart(rs.getInt(4));
					message.setSectionEnd(rs.getInt(5));
					message.setBeginYear(beginYear);
					message.setTerm(term);
					emptyclassmessages.add(message);

				}
			//	System.out.println(emptyclassmessages);
				//System.out.println(emptyclassmessages.size());
				rs.close();
				emptyclassmessages = splitListToClassIdOneDayAndCombine(emptyclassmessages); // 合并该校当天课程

				// 写入正式message数据库
				System.out.println("Save to db.........");

				Map<String, Integer> md5MapForMess = new HashMap<String, Integer>();
				if (md5MapForMess.isEmpty()) { // 为空说明第一次进行操作
					rs = null;
					String md5Sql = "SELECT sequence FROM emptyclassmessage_fromschool WHERE schoolId = ?";
					pstm = conn.prepareStatement(md5Sql);// 判断数据库中是否存在当前教室信息
					pstm.setInt(1, schoolId);
					rs = pstm.executeQuery();

					// 把数据库当前学校的教室信息查询出来存入到md5Map中
					while (rs.next()) { // 已经存在
						String sequence = rs.getString(1);
						md5MapForMess.put(sequence, 1);
					}
					rs.close();
				}
				PreparedStatement pstm1 = null;
				String insertMessSql = "INSERT INTO emptyclassmessage_fromschool"
						+ "(classid,schoolId,beginYear,term,period,smartPeriod,dateStart,dateEnd,sectionStart,sectionEnd,beginTime,endTime,sequence) "
						+ "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)";
				conn.setAutoCommit(false);
				pstm1 = conn.prepareStatement(insertMessSql);

				String ClASS_SEQUENCE_SEPARATOR = ">@<";
				for (Emptyclassmessage emptyclassmessage : emptyclassmessages) {
					
					// System.out.println(emptyclassmessage);
					// String classMessContent = emptyclassroomId +
					// ClASS_SEQUENCE_SEPARATOR;
					int classId = emptyclassmessage.getClassid();
					String classMessContent = classId + ClASS_SEQUENCE_SEPARATOR;

					String smartPeriod = emptyclassmessage.getSmartPeriod();
					smartPeriod = smartPeriod == null ? "" : smartPeriod;
					classMessContent += smartPeriod + ClASS_SEQUENCE_SEPARATOR;

					String period = emptyclassmessage.getPeriod();
					period = period == null ? "" : period;
					classMessContent += period + ClASS_SEQUENCE_SEPARATOR;

					String dateStart = emptyclassmessage.getDateStart();
					dateStart = (dateStart == null) ? "" : dateStart;

					classMessContent += dateStart + ClASS_SEQUENCE_SEPARATOR;

					String dateEnd = emptyclassmessage.getDateEnd();
					dateEnd = (dateEnd == null)? "" : dateEnd;
					classMessContent += dateEnd + ClASS_SEQUENCE_SEPARATOR;

					classMessContent += beginYear + ClASS_SEQUENCE_SEPARATOR;

					classMessContent += term + ClASS_SEQUENCE_SEPARATOR;

					classMessContent += 0 + ClASS_SEQUENCE_SEPARATOR;//day

					int sectionStart = emptyclassmessage.getSectionStart();
					classMessContent += sectionStart + ClASS_SEQUENCE_SEPARATOR;

					int sectionEnd = emptyclassmessage.getSectionEnd();
					classMessContent += sectionEnd + ClASS_SEQUENCE_SEPARATOR;

					String beginTime = emptyclassmessage.getBeginTime();
					beginTime = beginTime == null ? "" : beginTime;
					classMessContent += beginTime + ClASS_SEQUENCE_SEPARATOR;

					String endTime = emptyclassmessage.getEndTime();
					endTime = endTime == null ? "" : endTime;
					classMessContent += endTime + ClASS_SEQUENCE_SEPARATOR;

					// classid,schoolId,beginYear,term,period,smartPeriod,dateStart,dateEnd,day,sectionStart,sectionEnd,beginTime,endTime,sequence
					// pstmMess.setInt(1, emptyclassroomId);
					String classmessSequence = DigestUtils.md5Hex(classMessContent);


						// 判断要写入的教室是否存在
						if (!md5MapForMess.containsKey(classmessSequence)) {
							// 拼接进要写入的insert中
							// classid,schoolId,period,smartPeriod,day,sectionStart,sectionEnd,beginTime,endTime,beginYear,term
							pstm1.setInt(1, classId);
							pstm1.setInt(2, schoolId);
							pstm1.setInt(3, beginYear);
							pstm1.setInt(4, term);
							pstm1.setString(5, period);
							pstm1.setString(6, smartPeriod);
							pstm1.setString(7, dateStart.equals("") ? null : dateStart);
							pstm1.setString(8, dateEnd.equals("") ? null : dateEnd);
							pstm1.setInt(9, sectionStart);
							pstm1.setInt(10, sectionEnd);
							pstm1.setString(11, beginTime);
							pstm1.setString(12, endTime);
							pstm1.setString(13, classmessSequence);
							pstm1.addBatch();
							md5MapForMess.put(classmessSequence, 1);

						} else {
							System.out.println("----------------------存在了S--------------------");
							System.out.println(emptyclassmessage);
							System.out.println(classmessSequence);
							System.out.println("----------------------存在了E--------------------");
						}
					}
					Date S = new Date();
					//System.out.println(pstm1);
					pstm1.executeBatch();
					conn.commit();
					if (pstm1 != null)
						pstm1.close();
					Date E = new Date();

					System.out.println("(" + (E.getTime() - S.getTime()) + ")");
//				}
//			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (pstm != null)
					pstm.close();
				if (conn != null)
					conn.close();
			} catch (SQLException e) {
			}
		}

	}

	/**
	 * 数据库正式表写入临时表(不合并)
	 * 
	 * @param maxDay
	 * @param schoolId
	 * @param beginYear
	 * @param term
	 * @param periodType
	 */
	// public static void moveNormalToTemp(int maxDay,int schoolId,int
	// beginYear,int term,String periodType){
	// Connection conn = null;
	// conn = ConnectionUtil.getConnection();
	//
	// PreparedStatement pstm = null;
	// PreparedStatement pstm1 = null;
	//
	// try {
	//
	// List<Emptyclassmessage> emptyclassmessages = new
	// ArrayList<Emptyclassmessage>();
	// Emptyclassmessage message = null;
	//
	// for (int i = 7; i <= maxDay; i++) {
	// String sql =
	// "select classid,"+periodType+",`day`,sectionStart,sectionEnd,sequence from emptyclassmessage_fromschool where schoolId = ? and beginYear = ? AND term = ? AND day = ? order by classid asc,"+periodType+" + 0 asc;";
	// pstm = conn.prepareStatement(sql);
	// pstm.setInt(1, schoolId);
	// pstm.setInt(2, beginYear);
	// pstm.setInt(3, term);
	// pstm.setInt(4, i);
	// ResultSet rs = null;
	// rs = pstm.executeQuery();
	// while (rs.next()) {
	//
	// message = new Emptyclassmessage();
	// message.setClassid(rs.getInt(1));
	// message.setSchoolId(schoolId);
	// message.setSmartPeriod(rs.getString(2));
	// message.setDay(rs.getInt(3));
	// message.setSectionStart(rs.getInt(4));
	// message.setSectionEnd(rs.getInt(5));
	// message.setBeginYear(beginYear);
	// message.setTerm(term);
	// message.setSequence(rs.getString(6));
	// emptyclassmessages.add(message);
	//
	// }
	// rs.close();
	// // mergeEmptyRoomMsgs(emptyclassmessages); //合并该校当天课程
	//
	// //写入正式message数据库
	// System.out.println("Save to db........."+i);
	//
	// Map<String, Integer> md5MapForMess= new HashMap<String, Integer>();
	// if(md5MapForMess.isEmpty()){ //为空说明第一次进行操作
	// rs = null;
	// String md5Sql =
	// "SELECT sequence FROM emptyclassmessage_fromschool WHERE schoolId = ? and day = ?";
	// pstm = conn.prepareStatement(md5Sql);//判断数据库中是否存在当前教室信息
	// pstm.setInt(1, schoolId);
	// pstm.setInt(2, i);
	// rs = pstm.executeQuery();
	//
	// //把数据库当前学校的教室信息查询出来存入到md5Map中
	// while (rs.next()) { // 已经存在
	// String sequence = rs.getString(1);
	// md5MapForMess.put(sequence, 1);
	// }
	// rs.close();
	// }
	//
	// String insertMessSql =
	// "INSERT INTO emptyclassmessagetemp (classid,schoolId,"+periodType+",day,sectionStart,sectionEnd,beginYear,term,sequence) "
	// + "VALUES (?,?,?,?,?,?,?,?,?)";
	// conn.setAutoCommit(false);
	// pstm1 = conn.prepareStatement(insertMessSql);
	//
	// for (Emptyclassmessage emptyclassmessage : emptyclassmessages) {
	// int emptyclassroomId= emptyclassmessage.getClassid();
	//
	// String smartPeriod = emptyclassmessage.getSmartPeriod();
	// if(periodType.equals("period")){
	// smartPeriod = emptyclassmessage.getPeriod();
	// }
	//
	// // String dateStart = emptyclassmessage.getdateStart();
	// // dateStart = dateStart == null ? "" : dateStart;
	// // String dateEnd = emptyclassmessage.getdateEnd();
	// // dateEnd = dateEnd == null ? "" : dateEnd;
	//
	// int sectionStart = emptyclassmessage.getSectionStart();
	// int sectionEnd = emptyclassmessage.getSectionEnd();
	//
	// String classmessSequence = emptyclassmessage.getSequence();
	// // 需要写入的教室详细空闲信息,md5提取信息
	// //判断要写入的教室是否存在
	// if(!md5MapForMess.containsKey(classmessSequence)){
	// //拼接进要写入的insert中
	// //classid,schoolId,period,smartPeriod,day,sectionStart,sectionEnd,beginTime,endTime,beginYear,term
	// pstm1.setInt(1, emptyclassroomId);
	// pstm1.setInt(2, schoolId);
	// pstm1.setString(3, smartPeriod);
	// pstm1.setInt(4, i);
	// pstm1.setInt(5, sectionStart);
	// pstm1.setInt(6, sectionEnd);
	// pstm1.setInt(7, beginYear);
	// pstm1.setInt(8, term);
	// pstm1.setString(9, classmessSequence);
	//
	// pstm1.addBatch();
	// //并且存入map
	// md5MapForMess.put(classmessSequence, 1);
	// }else{
	// // System.out.println("----------------------存在了S--------------------");
	// // System.out.println(emptyclassmessage);
	// // System.out.println(classmessSequence);
	// // System.out.println("----------------------存在了E--------------------");
	// }
	// }
	// pstm1.executeBatch();
	// conn.commit();
	// if(pstm1!=null) pstm1.close();
	// }
	// } catch (Exception e) {
	// e.printStackTrace();
	// } finally{
	// try {
	// if(pstm!=null) pstm.close();
	// if(conn!=null) conn.close();
	// } catch (SQLException e) {}
	// }
	//
	// }

	// 合并临时表中课程的方法
	public static List<Emptyclassmessage> mergeEmptyRoomMsgs(List<Emptyclassmessage> unmergeEmptyRoomMsgs) throws Exception {
		if (unmergeEmptyRoomMsgs == null) {
			return unmergeEmptyRoomMsgs;
		}
		if (unmergeEmptyRoomMsgs.size() == 0) {
			return unmergeEmptyRoomMsgs;
		}
		List<Emptyclassmessage> mergerEmptyRoomMsgs = new ArrayList<Emptyclassmessage>();
		Emptyclassmessage msg1 = null;
		Emptyclassmessage msg2 = null;
		int size = unmergeEmptyRoomMsgs.size();
		for (int i = 0; i < size; i++) {
			msg1 = unmergeEmptyRoomMsgs.get(i);
			msg1.setSmartPeriod(msg1.getSmartPeriod());
			for (int j = i + 1; j < size; j++) {
				msg2 = unmergeEmptyRoomMsgs.get(j);
				if (msg1.getClassid() == msg2.getClassid()) {
					if (msg1.getSectionStart() == msg2.getSectionStart() && msg1.getSectionEnd() == msg2.getSectionEnd()) {
						msg1.setSmartPeriod(msg1.getSmartPeriod() + " " + msg2.getSmartPeriod());
						unmergeEmptyRoomMsgs.remove(j);
						j--;
						size--;
					}
				} else {
					msg1.setPeriod(null);
					mergerEmptyRoomMsgs.add(msg1);
					break;
				}
			}
			if (i + 1 == size) {
				msg1.setPeriod(null);
				mergerEmptyRoomMsgs.add(msg1);
			}
		}
		Collections.sort(mergerEmptyRoomMsgs, new CompareSection4RoomMsg());
		unmergeEmptyRoomMsgs.clear();
		unmergeEmptyRoomMsgs.addAll(mergerEmptyRoomMsgs);
		mergerEmptyRoomMsgs.clear();
		size = unmergeEmptyRoomMsgs.size();
		for (int i = 0; i < size; i++) {
			msg1 = unmergeEmptyRoomMsgs.get(i);
			for (int j = i + 1; j < size; j++) {
				msg2 = unmergeEmptyRoomMsgs.get(j);
				if (msg1.getClassid() == msg2.getClassid()) {
					if (msg1.getSectionEnd() + 1 == msg2.getSectionStart()) {
						msg1.setSectionEnd(msg2.getSectionEnd());
						unmergeEmptyRoomMsgs.remove(j);
						j--;
						size--;
					}
				} else {
					mergerEmptyRoomMsgs.add(msg1);
					break;
				}
			}
			if (i + 1 == size) {
				msg1.setPeriod(null);
				mergerEmptyRoomMsgs.add(msg1);
			}
		}
		return mergerEmptyRoomMsgs;
	}

	/**
	 * 针对日起型 2014-11-11 日 的节次合并 1-2.3-4 合并成 1-4 同一天的节次合并
	 * 
	 * @param
	 * @param
	 * @param
	 * @param
	 * @param periodType
	 * @creattime 2014年4月1日11:05:33
	 * @author zb
	 * */
	public static List<Emptyclassmessage> combineInsertNormalDBforDate(List<Emptyclassmessage> roomMessagelist) {
//		System.out.println("-----合并前list大小:" + roomMessagelist.size());
	
		List<Emptyclassmessage> roomMessagelistNew = new ArrayList<Emptyclassmessage>();
		if (roomMessagelist.size() > 0) {
			int size = roomMessagelist.size();
			for (int m = 0; m < size; m++) {
				for (int n = m + 1; n < size; n++) {
					Emptyclassmessage emptyclassmessage1 = roomMessagelist.get(m);
					Emptyclassmessage emptyclassmessage2 = roomMessagelist.get(n);

					int sectionStart1 = emptyclassmessage1.getSectionStart();
					int sectionEnd1 = emptyclassmessage1.getSectionEnd();
					int sectionStart2 = emptyclassmessage2.getSectionStart();
					int sectionEnd2 = emptyclassmessage2.getSectionEnd();

					if (sectionEnd1 + 1 == sectionStart2) {
						// 合并
						emptyclassmessage1.setSectionStart(sectionStart1);
						emptyclassmessage1.setSectionEnd(sectionEnd2);
						// 删除m
						roomMessagelist.remove(n);
						size--;
						n--;

					}

				}

			}
			roomMessagelistNew.addAll(roomMessagelist);

//			System.out.println("-----合并后list大小:" + roomMessagelistNew.size());
		
		}

		return roomMessagelistNew;

	}
	
	/**
	 * 拆分 list 同一教室,同一天   并且合并
	 * @param roomMessagelist   临时表中某一学校的所有记录
	 * @param periodType
	 * @return List<Emptyclassmessage>  合并后的list
	 * @creattime 2014年4月2日11:05:33
	 * @author zb
	 * */

	public static List<Emptyclassmessage> splitListToClassIdOneDayAndCombine(List<Emptyclassmessage> roomMessagelist) {
		List<Emptyclassmessage> messagelistALL = new ArrayList<Emptyclassmessage>();
		System.out.println("接收到合并前的记录数为:"+roomMessagelist.size());
		List<List<Emptyclassmessage>> messagelistByRoomIdAndDate = new ArrayList<List<Emptyclassmessage>>();
		if (roomMessagelist.size() > 0) {
			int size = roomMessagelist.size();
			for (int i = 0; i < size; i++) {

				List<Emptyclassmessage> EmptyclassmessageListByIDAndOneDay = new ArrayList<Emptyclassmessage>();
				Emptyclassmessage emptyclassmessage1 = roomMessagelist.get(i);
				//System.out.println(emptyclassmessage1);
				EmptyclassmessageListByIDAndOneDay.add(emptyclassmessage1);
				for (int j = i + 1; j < size; j++) {

					int schoolID1 = emptyclassmessage1.getSchoolId();
					int classID1 = emptyclassmessage1.getClassid();
					String dateStart1 = emptyclassmessage1.getDateStart();
					String dateEnd1 = emptyclassmessage1.getDateEnd();

					Emptyclassmessage emptyclassmessage2 = roomMessagelist.get(j);
					//System.out.println(emptyclassmessage2);
					int schoolID2 = emptyclassmessage2.getSchoolId();
					int classID2 = emptyclassmessage2.getClassid();
					String dateStart2 = emptyclassmessage2.getDateStart();
					String dateEnd2 = emptyclassmessage2.getDateEnd();

					if (schoolID1 == schoolID2 && classID1 == classID2 && dateStart1.equals(dateStart2) && dateEnd1.equals(dateEnd2) ) {

						// 匹配成功,添加第二列的值
						EmptyclassmessageListByIDAndOneDay.add(emptyclassmessage2);

						roomMessagelist.remove(emptyclassmessage2);
						j--;
						size--;

					}

					// 添加到一个list中

				}
				messagelistByRoomIdAndDate.add(EmptyclassmessageListByIDAndOneDay);

			}
			// System.out.println(messagelistByRoomIdAndDate.size());
			// System.out.println(messagelistByRoomIdAndDate);

			// 遍历list
		//	System.out.println("messagelistByRoomIdAndDate.size()="+messagelistByRoomIdAndDate.size());
			for (int i = 0; i < messagelistByRoomIdAndDate.size(); i++) {
				List<Emptyclassmessage> emptyclassmessageList = messagelistByRoomIdAndDate.get(i);
				// System.out.println(emptyclassmessageList);
				List<Emptyclassmessage> onedayList = combineInsertNormalDBforDate(emptyclassmessageList);
				  messagelistALL.addAll(onedayList);

			}

		}
          System.out.println("返回合并后准备插入数据库的记录条数大小为:"+messagelistALL.size());
		  return messagelistALL;

	}

	public static void main(String[] args) {
		List<Emptyclassmessage> emptyclassmessageList = new ArrayList<Emptyclassmessage>();
	
		Emptyclassmessage emptyclassmessage4 = new Emptyclassmessage();
		emptyclassmessage4.setSchoolId(1);
		emptyclassmessage4.setClassid(2);
		emptyclassmessage4.setDateStart("2014-10-10");
		emptyclassmessage4.setDateEnd("2014-10-10");
		emptyclassmessage4.setSectionStart(1);
		emptyclassmessage4.setSectionEnd(1);
		emptyclassmessageList.add(emptyclassmessage4);
	
		
		Emptyclassmessage emptyclassmessage3 = new Emptyclassmessage();
		emptyclassmessage3.setSchoolId(1);
		emptyclassmessage3.setClassid(2);
		emptyclassmessage3.setDateStart("2014-10-10");
		emptyclassmessage3.setDateEnd("2014-10-10");
		emptyclassmessage3.setSectionStart(2);
		emptyclassmessage3.setSectionEnd(2);
		emptyclassmessageList.add(emptyclassmessage3);
	
		
		

		

		for (int i = 7; i < 13; i ++) {

			Emptyclassmessage emptyclassmessage = new Emptyclassmessage();
			emptyclassmessage.setSchoolId(1);
			emptyclassmessage.setClassid(2);
			emptyclassmessage.setDateStart("2014-10-10");
			emptyclassmessage.setDateEnd("2014-10-10");
			emptyclassmessage.setSectionStart(i);
			emptyclassmessage.setSectionEnd(i);
			emptyclassmessageList.add(emptyclassmessage);

		}
		
	
		

//
//		for (int i = 0; i < 5; i = i + 2) {
//
//			Emptyclassmessage emptyclassmessage = new Emptyclassmessage();
//			emptyclassmessage.setSchoolId(1);
//			emptyclassmessage.setClassid(3);
//			emptyclassmessage.setDateStart("2014-10-11");
//			emptyclassmessage.setDateEnd("2014-10-11");
//			emptyclassmessage.setSectionStart(i + 1);
//			emptyclassmessage.setSectionEnd(i + 2);
//			emptyclassmessageList.add(emptyclassmessage);
//
//		}
//
//		Emptyclassmessage emptyclassmessage3 = new Emptyclassmessage();
//		emptyclassmessage3.setSchoolId(1);
//		emptyclassmessage3.setClassid(3);
//		emptyclassmessage3.setDateStart("2014-10-11");
//		emptyclassmessage3.setDateEnd("2014-10-11");
//		emptyclassmessage3.setSectionStart(9);
//		emptyclassmessage3.setSectionEnd(10);
//		emptyclassmessageList.add(emptyclassmessage3);
//
//		for (int i = 0; i < 1; i++) {
//
//			Emptyclassmessage emptyclassmessage = new Emptyclassmessage();
//			emptyclassmessage.setSchoolId(1);
//			emptyclassmessage.setClassid(4);
//			emptyclassmessage.setDateStart("2014-10-13");
//			emptyclassmessage.setDateEnd("2014-10-13");
//			emptyclassmessage.setSectionStart(i + 1);
//			emptyclassmessage.setSectionEnd(i + 2);
//			emptyclassmessageList.add(emptyclassmessage);
//		}

//		 System.out.println(emptyclassmessageList);


//		System.out.println(splitListToClassIdOneDayAndCombine(emptyclassmessageList));

	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值