studentmanager.java

来自「java 考试管理系统 很好的很强大 很好的很强大」· Java 代码 · 共 95 行

JAVA
95
字号
package com.zjxy.hibernate.base;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Expression;

import com.zjxy.hibernate.HibernateSessionFactory;
import com.zjxy.hibernate.model.Student;
import com.zjxy.hibernate.model.User;

public class StudentManager {
Session session;
	
	// 构造函数
	public StudentManager() throws HibernateException {
		session = getSession();
	}
	
	// 取得学生信息列表
	public List getStudentList() throws HibernateException {
		return session.createCriteria(Student.class).list();
	}
	
	// 添加学生信息
	public void addStudent(Student student, User user) throws HibernateException {
		Transaction tran = session.beginTransaction();
		session.save(student);
		session.save(user);
		tran.commit();
	}
	
	// 判断输入的学生帐号是否已经存在,存在则返回true,否则返回false
	public boolean getStudentByID(String studentID) {
		boolean flag = false;
		List list = new ArrayList();
		Criteria criteria = session.createCriteria(Student.class);
		criteria.add(Expression.eq("studentID", studentID));
		list = criteria.list();
		if (list.size() == 1) {
			flag = true;
		}
		return flag;
	}
	
	// 学生修改页面初期化时页面项目信息的取得
	public Student getModifyInfoByID(int sequenceID) {
		Student student = new Student();
		List list = new ArrayList();
		Integer seqID = Integer.valueOf(sequenceID);
		Criteria criteria = session.createCriteria(Student.class);
		criteria.add(Expression.eq("sequenceID", seqID));
		list = criteria.list();
		student = (Student) list.get(0);
		return student;
	}
	
	// 修改学生信息
	public void modifyStudentInfo(Student student, User user) throws HibernateException {
		Transaction tran = session.beginTransaction();
		session.merge(student);
		session.merge(user);
		tran.commit();
	}
	
	// 删除学生信息
	public void delete(int sequenceID) throws HibernateException {
		Student student = new Student();
		User user = new User();
		student = this.getModifyInfoByID(sequenceID);
		user.setSequenceID(sequenceID);
		user.setUserID(student.getStudentID());
		user.setPassword(student.getStudentNO());
		user.setUserFlag("S");
		Transaction tran = session.beginTransaction();
		session.delete(student);	
		session.delete(user);
		tran.commit();
	}
	
	// 关闭session
	public void closeSession() throws HibernateException {
		session.close();
	}
	
	// 得到session
	private Session getSession() throws HibernateException {
		return HibernateSessionFactory.currentSession();
	}
}

⌨️ 快捷键说明

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