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


  • 相关阅读:
    lua学习笔记
    s2-029 Struts2 标签远程代码执行分析(含POC)
    GoAccess日志分析工具使用文档
    error: command 'gcc' failed with exit status 1 的解决办法
    机器学习算法总结(八)——广义线性模型(线性回归,逻辑回归)
    机器学习中常见的过拟合解决方法
    机器学习算法总结(七)——隐马尔科夫模型(前向后向算法、鲍姆-韦尔奇算法、维特比算法)
    机器学习算法总结(六)——EM算法与高斯混合模型
    机器学习中常见的损失函数
    机器学习算法总结(五)——聚类算法(K-means,密度聚类,层次聚类)
  • 原文地址:https://www.cnblogs.com/a1111/p/12816288.html
Copyright © 2020-2023  润新知