⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hibernateutil.java

📁 这是一个用Struts+Hibernate+Tomcat5.5.9实现的一个“课程管理系统”
💻 JAVA
字号:
package hibernate;

import java.util.Iterator;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {

	private static SessionFactory sessionFactory;

	static {
		try {
			sessionFactory = new Configuration().configure()
					.buildSessionFactory();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	// 从User中查找指定的username的密码
	public static String findPassword(String username) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		String pd = "";
		try {
			tx = session.beginTransaction();

			Query query = session
					.createQuery("from User as u where u.username=:username");

			query.setString("username", username);

			List result = query.list();

			Iterator it = result.iterator();

			if (it.hasNext()) {

				User u = (User) it.next();

				pd = u.getPassword();

			}

			tx.commit();
		} catch (Exception e) {

			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}

		return pd;
	}

	// 取得所有Student记录
	public static List getStudent() {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		List result = null;
		try {
			tx = session.beginTransaction();
			Query query = session.createQuery("from Student as s");

			result = query.list();

			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}

		return result;
	}

	// 取得所有Teacher记录
	public static List getTeacher() {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		List result = null;
		try {
			tx = session.beginTransaction();
			Query query = session.createQuery("from Teacher as t");

			result = query.list();

			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}

		return result;

	}

	// 取得所有Course记录
	public static List getCourse() {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		List result = null;
		try {
			tx = session.beginTransaction();
			Query query = session.createQuery("from Course as c");
			result = query.list();

			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}

		return result;

	}


	// 根据username查找课程不在Course里的所有课程
	public static List getCourseNotCourse_id(String username) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		List result = null;
		try {
			tx = session.beginTransaction();
			Query query = session
					.createQuery("from Course as c where c.courseID not in(select course_ID from Choice where username=:username) ");
			query.setString("username", username);
			result = query.list();

			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}

		return result;
	}

	// 取得所有Classes记录
	public static List getClasses() {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		List result = null;
		try {
			tx = session.beginTransaction();
			Query query = session.createQuery("from Classes as c");
			result = query.list();

			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			//session.close();
		}

		return result;

	}

	// 根据courseID取得所有Classes记录
	public static List getClasses(String courseID) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		List result = null;
		try {
			tx = session.beginTransaction();
			Query query = session
					.createQuery("from Classes as c where c.course_ID=:courseID");
			query.setString("courseID", courseID);
			result = query.list();

			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			// session.close();
		}

		return result;

	}

	public static List getClassesNotCourse_id(String username) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		List result = null;
		try {
			tx = session.beginTransaction();
			Query query = session
					.createQuery("from Classes as c where c.course_ID not in(select course_ID from Choice where username=:username) ");
			query.setString("username", username);
			result = query.list();

			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}

		return result;
	}

	// 根据classes_id查找Teacher
	public static List findFromClassesIDAndCourseID(Long classes_id,
			Long courseID) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		List result = null;
		try {
			tx = session.beginTransaction();

			Query query = session
					.createQuery("select Teacher.username,Course.courseID,Course.name,Course.mark,Course.prepare,Course.develop from Teacher,Course where Teacher.classes.id=:id "
							+ " and " + " Course.courseID=:courseID");
			result = query.list();

			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}

		return result;

	}

	// 取得所有Choice记录
	public static List getChoice(String username) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		List result = null;
		try {
			tx = session.beginTransaction();
			Query query = session
					.createQuery("from Choice as c where c.username=:username");

			query.setString("username", username);

			result = query.list();

			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}

		return result;

	}

	// 根据教师用户名查找所有Choice记录
	public static List getChoiceFromTeacherID(String username) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		List result = null;
		try {
			tx = session.beginTransaction();
			Query query = session
					.createQuery("from Choice as c where c.teacher_username=:username");

			query.setString("username", username);

			result = query.list();

			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}

		return result;

	}
	
	// 根据教师用户名查找所有Choice记录
	public static List getGrade(String username,String course_ID) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		List result = null;
		try {
			tx = session.beginTransaction();
			Query query = session
					.createQuery("from Grade as g where g.username=:username "+" and g.courseID=:courseID");

			query.setString("username", username);
			query.setString("courseID",course_ID);

			result = query.list();

			tx.commit();

		} catch (HibernateException e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}

		return result;

	}

	// 保存对象
	public static void save(Object object) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		try {
			tx = session.beginTransaction();
			session.save(object);
			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}
	}

	// 根据ID查找Student
	public static List findStudent(Long id) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		List result = null;
		try {
			tx = session.beginTransaction();
			Query query = session
					.createQuery("from Student as s where s.id=:id");
			query.setLong("id", id);

			result = query.list();

			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}

		return result;

	}
	
	// 根据username查找Student
	public static List findStudent(String username) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		List result = null;
		try {
			tx = session.beginTransaction();
			Query query = session
					.createQuery("from Student as s where s.username=:username");
			query.setString("username",username);

			result = query.list();

			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}

		return result;

	}

	// 根据ID查找Teacher
	public static List findTeacher(Long id) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		List result = null;
		try {
			tx = session.beginTransaction();
			Query query = session
					.createQuery("from Teacher as t where t.id=:id");
			query.setLong("id", id);

			result = query.list();

			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}

		return result;
	}
	
	// 根据username查找Teacher
	public static List findTeacher(String username) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		List result = null;
		try {
			tx = session.beginTransaction();
			Query query = session
					.createQuery("from Teacher as t where t.username=:username");
			query.setString("username",username);

			result = query.list();

			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			//session.close();
		}

		return result;
	}

	// 根据ID查找Course
	public static List findCourse(Long id) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		List result = null;
		try {
			tx = session.beginTransaction();
			Query query = session
					.createQuery("from Course as c where c.id=:id");
			query.setLong("id", id);

			result = query.list();

			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}

		return result;

	}

	// 根据ID查找Classes
	public static Classes findClasses(Long id) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		Classes classes = null;
		try {
			tx = session.beginTransaction();

			classes = (Classes) session.load(Classes.class, id);

			tx.commit();

			// return teacher;

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			// session.close();
		}

		return classes;

	}

	// 删除一个对象
	public static void delect(Object object) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		try {
			tx = session.beginTransaction();

			session.delete(object);

			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}
	}

	// 更新一个对象
	public static void update(Object object) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		try {
			tx = session.beginTransaction();

			session.update(object);

			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}

	}
	
	// 更新一个对象
	public static void saveOrUpdate(Object object) {
		Session session = sessionFactory.openSession();
		Transaction tx = null;
		try {
			tx = session.beginTransaction();

			session.saveOrUpdate(object);

			tx.commit();

		} catch (Exception e) {
			if (tx != null) {
				tx.rollback();
			}
		} finally {
			session.close();
		}

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -