studentdaohibernate.java

来自「一个采用HIBERNET」· Java 代码 · 共 99 行

JAVA
99
字号
package org.yeeku.dao.impl;

import org.yeeku.model.*;
import org.yeeku.dao.StudentDao;
import java.io.Serializable;
import java.util.*;
import org.yeeku.enhance.YeekuHibernateDaoSupport;

public class StudentDaoHibernate extends YeekuHibernateDaoSupport implements StudentDao
{
	/**
	 * 根据主键加载学生
	 * @param id 需要加载的学生的主键值
	 * @return 加载的学生PO
	 */
	public Student get(int id)
	{
		return (Student)getHibernateTemplate().load(Student.class , new Integer(id));
	}

	/**
	 * 保存学生实体,新增一条学生记录
	 * @param student 保存的学生实例
	 */
	public void save(Student student)
	{
		getHibernateTemplate().save(student);
	}

	/**
	 * 删除学生实体,删除一条学生记录
	 * @param student 删除的学生实例
	 */
    public void delete(Student student)
	{
		getHibernateTemplate().delete(student);
	}

	/**
	 * 根据主键删除学生实体,删除一条学生记录
	 * @param id 删除学生的主键
	 */
    public void delete(int id)
	{
		getHibernateTemplate().delete(get(id));
	}

	/**
	 * 更新一条学生记录
	 * @param student 需要更新的学生
	 */
    public void update(Student student)
	{
		getHibernateTemplate().update(student);
	}

	/**
	 * 根据学号和姓名查询学生
	 * @param name 需要更新的学生
	 * @param stuNumber 学号
	 * @return 符合名字和学号查询条件的学生列表
	 */
    public List<Student> findStudentByNameAndStuNumber(String name,String stuNumber)
	{
		return getHibernateTemplate().find("from Student as student where student.stuNumber = ? and student.name=?" , 
			new String[]{stuNumber, name});
	}

	/**
	 * 根据页码查询学生列表
	 * @param pageNo 查询的页码
	 * @param pageSize 每页显示的学生数
	 * @return 指定页的学生列表
	 */
	public List<Student> findAllByPage(int pageNo , int pageSize)
	{
		if (pageNo < 1)
		{
			return null;
		}
		int offset = (pageNo - 1) * pageSize;
		return findByPage("from Student", offset , pageSize);
	}

	/**
	 * 查询学生的数量
	 * @return 学生的数量
	 */
	public long getStudentCount()
	{
		List studentList = getHibernateTemplate().find("select count(student.id) from Student as student");
		if (studentList == null)
		{
			return 0;
		}
		return (Long)studentList.get(0);
	}
}

⌨️ 快捷键说明

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