findByCriteria(detachedCriteria)的使用

为了使用findByCriteria(detachedCriteria),首先写个接口:

protected RetCode findByCriteria(HibernateDaoSupport dao,DetachedCriteria detachedCriteria) {

        RetCode ret = new RetCode();        
        List results = dao.getHibernateTemplate()
                .findByCriteria(detachedCriteria);
        if (results == null || results.size() == 0) {

            ret.setCode(1001);
            ret.setDesc("无查询数据!");
            ret.setDetail("未找到查询的相应数据");
            ret.setObj(null);
        } else {
            ret.setCode(0);
            ret.setDesc("操作成功!");
            ret.setObj(results);
        }
        return ret;
  } 

 

然后便可以利用这个接口了:

/**
     * 查出所有处于生效状态的活动
     * @param dbIcTask
     * @param currentPage
     * @param pageSize
     * @return
     */
    public RetCode findAll() {
        return this.findByCriteria(dbIcTaskDAO, getAllUsefuleTaskCriteria());
    }

 

最后,便是在getAllUsefuleTaskCriteria()这个方法里面写上SQL语句的条件:

private DetachedCriteria getAllUsefuleTaskCriteria() {
        DetachedCriteria crt = DetachedCriteria.forClass(DbIcTask.class);
        crt.add(Restrictions.sqlRestriction("state='1'"));
        crt.add(Restrictions.sqlRestriction("sysdate <= to_date(endtime,'yyyy-mm-dd hh24:mi:ss')"));
        crt.add(Restrictions.sqlRestriction("sysdate >= to_date(begintime,'yyyy-mm-dd hh24:mi:ss')"));
        return crt;

    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值