struts+hibernate+oracle+easyui实现lazyout组件的简单案例——EmpDao层代码

简介: struts+hibernate+oracle+easyui实现lazyout组件的简单案例——EmpDao层代码

严格按照三层架构来写的,Dao层的代码比较少,我直接把Emp和实现类的都放在这篇文章里面吧,

IEmpDao.java接口:

 /**  
* @Title: IEmpDao.java
* @Package org.dao
* @Description: TODO该方法的主要作用:
* @author A18ccms A18ccms_gmail_com  
* @date 2017-4-19 下午6:36:43
* @version V1.0  
*/
package org.dao;
import org.entity.Emp;
import org.entity.EmpCondition;
import org.util.pageUtil;
 /**   
 *    
 * 项目名称:struts_easyui   
 * 类名称:IEmpDao   
 * 类描述:   员工的接口
 * 创建人:Mu Xiongxiong  
 * 创建时间:2017-4-19 下午6:36:43   
 * 修改人:Mu Xiongxiong   
 * 修改时间:2017-4-19 下午6:36:43   
 * 修改备注:   
 * @version    
 *    
 */
public interface IEmpDao {
  //动态分页查询(根据部门编号,员工的名)
  //获取记录数
  //获取员工信息方法
  pageUtil<Emp> getEmpByPage(int pageIndex,int pageSize,EmpCondition empc);
}

IEmpDao的实现类——EmpDaoImpl

 /**  
* @Title: EmpDaoImpl.java
* @Package org.dao.impl
* @Description: TODO该方法的主要作用:
* @author A18ccms A18ccms_gmail_com  
* @date 2017-4-19 下午7:15:46
* @version V1.0  
*/
package org.dao.impl;
import org.dao.IEmpDao;
import org.entity.Emp;
import org.entity.EmpCondition;
import org.hibernate.Criteria;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Projection;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.hibernate.impl.CriteriaImpl;
import org.util.HibernateUtil;
import org.util.pageUtil;
 /**   
 *    
 * 项目名称:struts_easyui   
 * 类名称:EmpDaoImpl   
 * 类描述:   
 * 创建人:Mu Xiongxiong  
 * 创建时间:2017-4-19 下午7:15:46   
 * 修改人:Mu Xiongxiong   
 * 修改时间:2017-4-19 下午7:15:46   
 * 修改备注:   
 * @version    
 *    
 */
public class EmpDaoImpl implements IEmpDao {
  /**(非 Javadoc)
   * <p>Title: getEmpByPage</p>
   * <p>Description(描述): </p>
   * @param pageIndex
   * @param pageSize
   * @param empc
   * @return
   * @see org.dao.IEmpDao#getEmpByPage(int, int, org.entity.EmpCondition)
   */
  @Override
  public pageUtil<Emp> getEmpByPage(int pageIndex, int pageSize,
      EmpCondition empc) {
    pageUtil<Emp> pageUtil=new pageUtil<Emp>();
    Criteria cri = HibernateUtil.getSession().createCriteria(Emp.class);
    if(empc.getDept()!=null){
      cri.add(Restrictions.eq("dept",empc.getDept()));       //按部门编号比较
    }
    if(empc.getEmpName()!=null){
      //根据名字模糊查询
      cri.add(Restrictions.ilike("ename", empc.getEmpName(),MatchMode.ANYWHERE));  
    }
    pageUtil.setPageIndex(pageIndex);
    pageUtil.setPageSize(pageSize);
    CriteriaImpl cirImp= (CriteriaImpl) cri; 
    Projection pro= cirImp.getProjection();//保存投影
    //查询总记录数
    cri.setProjection(Projections.rowCount());
    pageUtil.setTotalCount((Integer)cri.uniqueResult());
    //员工信息
    cri.setProjection(pro);
    //分页设置
    cri.setFirstResult((pageIndex-1)*pageSize);
    cri.setMaxResults(pageSize);
    pageUtil.setList(cri.list());
    return pageUtil;
  }
}
目录
相关文章
|
1月前
|
JavaScript 前端开发 Java
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Jsp页面
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Jsp页面
9 0
|
1月前
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——OpSessionview实现
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——OpSessionview实现
12 0
|
1月前
|
Java
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Action的实现类
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Action的实现类
10 0
|
1月前
|
Oracle 关系型数据库
oracle基本笔记整理及案例分析2
oracle基本笔记整理及案例分析2
12 0
|
1月前
|
Oracle 关系型数据库
oracle基本笔记整理及案例分析1
oracle基本笔记整理及案例分析1
17 0
|
14天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(一):装上去,飞起来!
【Oracle】玩转Oracle数据库(一):装上去,飞起来!
56 7
|
1月前
|
Oracle 关系型数据库 数据库
|
1月前
|
Oracle 关系型数据库 数据库
Oracle数据库基本概念理解(3)
Oracle数据库基本概念理解(3)
18 2
|
1月前
|
Oracle 关系型数据库 数据库
如何利用 Docker 安装 Oracle 数据库
【2月更文挑战第14天】
94 0
|
14天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
41 5