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

📄 questiondaohibernate.java

📁 本在线考试系统分成前台和后天
💻 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 + -