zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Hibernate -- Dao层 -- CURD -- 随记

hibernate -- DAO CURD
2023-09-11 14:14:57 时间
根据Where 参数 查询记录总数
//        1.拼接SQL语句
//        2.获取Session(hibernateTemplate.getSessionFactory().getCurrentSession()),调用CreateQuery获取Query
//        3.调用query.uniqueResult()获取返回值
    @Override
    public int getPageSize(String orgName, String evaPeriodCode, String evaDate) {
        StringBuffer sql=new StringBuffer("select count(*) from EvaVirResult where 1=1 ");
        if(StringUtils.isNotEmpty(orgName)){
            sql.append(" and ORG_NAME ='").append(orgName).append("'");
        }
        if(StringUtils.isNotEmpty(evaPeriodCode)){
            sql.append(" and EVA_PERIOD_CODE ='").append(evaPeriodCode).append("'");
        }
        if(StringUtils.isNotEmpty(evaDate)){
            sql.append(" and EVA_DATE LIKE '%").append(evaDate).append("%'");
        }
        Query query=super.getCurrentSession().createQuery(sql.toString());
        Object total=query.uniqueResult();
        return !com.ciic.system.utils.string.StringUtils.isValid(total)?Integer.parseInt(total.toString()):0;
    }

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

分页查询符合条件的虚拟标杆
//        1.hibernate查询对象
//        2.添加分页条件
    @Override
    public List<EvaVirResult> getVirtualModels(String orgName, String evaPeriodCode, String evaDate, int start, int pageSize) {
        Criteria criteria = getCurrentSession().createCriteria(EvaVirResult.class);
        if(!StringUtils.isEmpty(orgName)) {
            criteria.add(Restrictions.eq("orgName", orgName));
        }
        if(!StringUtils.isEmpty(evaPeriodCode)){
            criteria.add(Restrictions.eq("evaPeriodCode",evaPeriodCode));
        }
        if(!StringUtils.isEmpty(evaDate)){
            criteria.add(Restrictions.like("evaDate","%"+evaDate+"%"));
        }
        criteria.setFirstResult(start*pageSize);
        criteria.setMaxResults(pageSize);
        return criteria.list();
    }

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

啦啦啦

啦啦啦