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

📄 studentdaoimpl.java

📁 struts分页功能实现代码 开发环境 ECLIPSE+STRUTS+HIBERNATE
💻 JAVA
字号:
package cn.com.javapro.dao;

import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import cn.com.javapro.fwk.PageRoll;
import cn.com.javapro.hibernate.HibernateSessionFactory;
import cn.com.javapro.vo.Student;


/**
 * 
 * @description:学生对象DAO实现
 * @group: javapro 
 * @author: vince
 *
 */
public class StudentDAOImpl implements IStudentDAO{

	/**
	 * 
	 *  实现父类方法  
	 *  @see bsw.dao.IStudentDAO#search(bsw.fwk.PageRoll)
	 */
	public Student[] search(PageRoll pageRoll) throws HibernateException {
		Session session = null;
		Transaction t = null;
		Student[] students = null;
		try {
			session = HibernateSessionFactory.currentSession();
			t = session.beginTransaction();
			Query query = session.createQuery(pageRoll.getWhereClause());

			// 如果总记数为-1,说明不是翻页
			int _totalCount = pageRoll.getTotalCount();
			if (_totalCount == -1) {
				pageRoll.setTotalCount(query.list().size());
			}

			// 设置起始记录
			query.setFirstResult((pageRoll.getCurrentPage() - 1)
					* pageRoll.getPageSize());
			query.setMaxResults(pageRoll.getPageSize());

			// 返回记录集
			List list = query.list();
			session.flush();
			t.commit();

			// 将记录集转换为需要的对象数组
			students = new Student[list.size()];
			for (int i = 0; i < list.size(); i++) {
				students[i] = (Student) list.get(i);
			}

		} catch (HibernateException e) {
			t.rollback();
			e.printStackTrace();
		} finally {
			if (session != null)
				session.close();
		}
		return students;
	}
}

⌨️ 快捷键说明

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