📄 studentdaohibernate.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -