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;
	}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

穆雄雄

哎,貌似还没开张来着呢~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值