stuinfodao.java

来自「初学着 hibernate 基本应用 基本语法, Hibernate 高级分页」· Java 代码 · 共 94 行

JAVA
94
字号
package com.accp.dao;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
import org.hibernate.criterion.Order;

import com.accp.hib.HibernateSessionFactory;
import com.accp.util.*;
import com.accp.entity.*;

public class StuInfoDao extends BaseDao {
  public void insertStu(Stuinfo stu){
	  super.insertObj(stu);
  }
  public void updateStu(Stuinfo stu){
	  super.updateObj(stu);
  }
  public void deleteStu(Stuinfo stu){
	  super.deleteObj(stu);
  }
  /*
   * 使用Query查询学员数量
   * */
  public List getStuInfoCount(String hql){
	  
	  hql = "select count(stu) "+hql;
	  return super.getList(hql);
  }
  /*
   * 使用Criteria查询学员信息
   * */
 
  /*
   * 使用DetachedCriteria分页查询学员信息
   * */
  public PageUtil getStuInfo3(Stuinfo stuinfo,int curPage){
	  PageUtil pageUtil = new PageUtil();
	  
	  DetachedCriteria dcHql = getDcHql(stuinfo);
	  dcHql.addOrder(Order.asc("id"));//分页最好进行排序
	  pageUtil.setList(super.doDcHQL(dcHql,curPage,pageUtil.getPageSize()));
	  pageUtil.setTotalRows(getCountUseDcHql(getDcHql(stuinfo)));
	  pageUtil.setTotalPage();
	  
	  return  pageUtil;
  }
  
  public PageUtil getStuInfo3Date(Stuinfo stuinfo,String endDate,int curPage){
	  PageUtil pageUtil = new PageUtil();
	  
	  DetachedCriteria dcHql = getDcHqlDate(stuinfo,endDate);
	  dcHql.addOrder(Order.asc("id"));//分页最好进行排序
	  pageUtil.setList(super.doDcHQL(dcHql,curPage,pageUtil.getPageSize()));
	  pageUtil.setTotalRows(getCountUseDcHql(getDcHqlDate(stuinfo,endDate)));
	  pageUtil.setTotalPage();
	  
	  return  pageUtil;
  }
  private DetachedCriteria getDcHqlDate(Stuinfo stuinfo,String endDate){
	  DetachedCriteria dcHql = DetachedCriteria.forClass(Stuinfo.class);
	  if(!stuinfo.getName().equals("")){
		  dcHql.add(Restrictions.like("name", "%"+stuinfo.getName()+"%"));
	  }
	  if(!stuinfo.getBirthdate().equals("")){
		  dcHql.add(Restrictions.ge("birthdate", stuinfo.getBirthdate()));
		  dcHql.add(Restrictions.le("birthdate", TransTool.addOneDay(TransTool.transStr2Date(endDate))));
	  }
	  if(!stuinfo.getCity().equals("")){
		  dcHql.add(Restrictions.eq("city", stuinfo.getCity()));
	  }
	return dcHql;
  }
  
  
  private DetachedCriteria getDcHql(Stuinfo stuinfo){
	  DetachedCriteria dcHql = DetachedCriteria.forClass(Stuinfo.class);
	  if(!stuinfo.getName().equals("")){
		  dcHql.add(Restrictions.like("name", "%"+stuinfo.getName()+"%"));
	  }
	  if(!stuinfo.getBirthdate().equals("")){
		  dcHql.add(Restrictions.eq("birthdate", stuinfo.getBirthdate()));
	  }
	  if(!stuinfo.getCity().equals("")){
		  dcHql.add(Restrictions.eq("city", stuinfo.getCity()));
	  }
	return dcHql;
  }
  
}

⌨️ 快捷键说明

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