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

📄 basedao.java

📁 初学着 hibernate 基本应用 基本语法, Hibernate 高级分页技术 以及分页是要注意的地方
💻 JAVA
字号:
package com.accp.dao;

import java.io.Serializable;
import java.util.*;

import org.hibernate.*;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
import org.hibernate.criterion.Projections;
import com.accp.*;
import com.accp.hib.HibernateSessionFactory;

public class BaseDao {
	/*
	 * 用Query来执行一个分页查询
	 * */
	protected List getList(String hql,int curPage,int pageSize ){
	  List list = null;
	  Session se = HibernateSessionFactory.getSession();
	  
	  list = se.createQuery(hql)
	  .setFirstResult((curPage-1)*pageSize)
	  .setMaxResults(pageSize)
	  .list();
	  
	  se.close();
	  return list;
  }
	/*
	 * 用Query来执行查询
	 * */
	protected List getList(String hql){
		  List list = null;
		  Session se = HibernateSessionFactory.getSession();
		  
		  list = se.createQuery(hql)
		
		  .list();
		  
		  se.close();
		  return list;
	  }
	/*
	 * 用Criteria来执行一个分页查询
	 * */
	protected List doDcHQL(DetachedCriteria dcHql,int curPage,int pageSize ){
		  List list = null;
		  Session se = HibernateSessionFactory.getSession();
		  list =  dcHql.getExecutableCriteria(se)
		  .setFirstResult((curPage-1)*pageSize)
		  .setMaxResults(pageSize)
		  .list();
	 
		  se.close();
		  return list;
	  }
	

	/*
	 * 用Criteria来执行一个分页查询
	 * */
	protected int getCountUseDcHql(DetachedCriteria dcHql){
		  dcHql.setProjection(Projections.count("id"));
		  Session se = HibernateSessionFactory.getSession();
		  List list =  dcHql.getExecutableCriteria(se)
		  .list();
	 
		  se.close();
		  return (Integer)list.get(0);
	  }
  protected void deleteObj(Object obj){
	  Session se = HibernateSessionFactory.getSession();
	  Transaction t = se.beginTransaction();
	  
	  se.delete(obj);
	  
	  t.commit();
	  se.close();
  }

  protected void insertObj(Object obj){
	  Session se = HibernateSessionFactory.getSession();
	  Transaction t = se.beginTransaction();
	  
	  se.save(obj);
	  
	  t.commit();
	  se.close();
  }

  protected void updateObj(Object obj){
	 
	  Session se = HibernateSessionFactory.getSession();
	  Transaction t = se.beginTransaction();
	  
	  se.saveOrUpdate(obj);
	  
	  t.commit();
	  se.close();
  }
  /*
   * 根据对象主键加载一个对象
   * */
  public Object getObj(Class c,Serializable id){
      Object o = null;
	  Session se = HibernateSessionFactory.getSession();
	  
	  o = se.get(c, id);
	  
	  se.close(); 
	  return o;
  }
 
}

⌨️ 快捷键说明

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