📄 questiondaohibernate.java
字号:
package org.yeeku.dao.impl;
import org.yeeku.model.*;
import java.io.Serializable;
import org.yeeku.dao.*;
import org.hibernate.*;
import org.yeeku.enhance.YeekuHibernateDaoSupport;
import java.util.*;
public class QuestionDaoHibernate extends YeekuHibernateDaoSupport implements QuestionDao
{
/**
* 根据主键加载试题
* @param id 需要加载的试题的主键值
* @return 加载的试题PO
*/
public Question get(int id)
{
Question q = (Question)getHibernateTemplate().load(Question.class , id);
Hibernate.initialize(q);
return q;
}
/**
* 保存试题实体,新增一条试题记录
* @param question 保存的试题实例
*/
public void save(Question question)
{
getHibernateTemplate().save(question);
}
/**
* 删除试题实体,删除一条试题记录
* @param question 删除的试题实例
*/
public void delete(Question question)
{
getHibernateTemplate().delete(question);
}
/**
* 根据主键删除试题实体,删除一条试题记录
* @param id 删除试题的主键
*/
public void delete(int id)
{
getHibernateTemplate().delete(get(id));
}
/**
* 更新一条试题记录
* @param question 需要更新的试题
*/
public void update(Question question)
{
getHibernateTemplate().update(question);
}
/**
* 根据页码查询试题列表
* @param pageNo 查询的页码
* @param pageSize 每页显示的试题数
* @return 指定页的试题列表
*/
public List<Question> findAllByPage(int pageNo , int pageSize)
{
if (pageNo < 1)
{
return null;
}
int offset = (pageNo - 1) * pageSize;
return findByPage("from Question", offset , pageSize);
}
/**
* 根据试题ID、考试类型查询试题
* @param id 需要查询的试题ID
* @examType 考试类型
* @return 指定ID,对应考试类型的试题
*/
public Question findQuestionByExamType(int id , ExamType examType)
{
Question question = get(id);
//如果指定ID已经无法获得试题,返回空
if (question == null)
{
return null;
}
//如果获得试题对应的考试类型ID与请求的考试类型的ID相同。
if (question.getExamType().getId() == examType.getId())
{
return question;
}
return null;
}
/**
* 查询试题的最大ID
* @return 试题的最大ID
*/
public int getMaxId()
{
List questionList = getHibernateTemplate().find("select max(question.id) from Question as question");
if (questionList == null)
{
return 0;
}
return (Integer)questionList.get(0);
}
/**
* 查询试题的数量
* @return 试题的数量
*/
public long getQuestionCount()
{
List questionList = getHibernateTemplate().find("select count(question.id) from Question as question");
if (questionList == null)
{
return 0;
}
return (Long)questionList.get(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -