`

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;

    }

 

分享到:
评论

相关推荐

    Hibernate - DetachedCriteria 的完整用法

    使用 DetachedCriteria 可以很方便地根据查询条件来返回查询结果,Spring 框架提供了 `getHibernateTemplate().findByCriteria(detachedCriteria)` 方法来实现这一点。 Criteria 和 DetachedCriteria 均可使用 ...

    DetachedCriteria Criteria 使用方法

    ### DetachedCriteria 使用详解 #### 一、背景与概述 在Web开发中,经常会遇到需要根据用户提供的条件进行动态查询的需求。例如,在社交平台中,用户可以设置多种筛选条件来进行高级搜索,这时就需要动态生成SQL...

    DetachedCriteria查询

    `List results = getHibernateTemplate().findByCriteria(criteria);` `int count = ((Integer) results.get(0)).intValue();` 查询不重复的数据 可以使用 `setProjection()` 方法设置查询结果的投影,例如: `...

    浅谈DetachedCriteria和Criteria的使用方法(必看)

    Spring框架提供了getHibernateTemplate().findByCriteria(detachedCriteria)方法,可以很方便地根据DetachedCriteria返回查询结果。 DetachedCriteria和Criteria是Hibernate框架中两个重要的查询工具,用于动态生成...

    Hibernate中Criteria的完整用法.docx

    Spring 的框架提供了 getHibernateTemplate().findByCriteria(detachedCriteria) 方法,可以很方便地根据 DetachedCriteria 来返回查询结果。 Criteria 和 DetachedCriteria 均可使用 Criterion 和 Projection 设置...

    Hibernate中Criteria的完整用法

    List&lt;User&gt; results = getHibernateTemplate().findByCriteria(detachedCriteria); ``` 理解并熟练运用Hibernate的Criteria API,可以帮助开发者更有效地构建动态和复杂的查询,同时保持代码的整洁和可读性。在...

    Hibernate中Criteria的用法详解

    在Spring框架中,HibernateTemplate提供了一种方便的方式来执行DetachedCriteria查询,通过getHibernateTemplate().findByCriteria(detachedCriteria)方法,可以轻松地根据DetachedCriteria实例执行查询并获取结果。...

    Hibernate的Criteria用法总结

    userList = getHibernateTemplate().findByCriteria(detachedCriteria); ``` Criteria API的优势在于其灵活性,可以根据业务需求动态构建查询,同时减少了硬编码SQL,提高了代码的可读性和可维护性。然而,对于...

    详解Javaee Dao层的抽取

    return (List) hibernateTemplate.findByCriteria(detachedCriteria, startIndex, pageSize); } @Override public void save(LinkMan linkMan) { hibernateTemplate.save(linkMan); } @Override public ...

    Criteria的完整用法.pdf

    List&lt;Cat&gt; whiteCats = getHibernateTemplate().findByCriteria(detachedCriteria); ``` #### 四、小结 Hibernate的Criteria API通过其丰富的特性和灵活性,为开发者提供了构建复杂查询的强大工具。通过理解并...

    Criteria使用方法

    List&lt;Cat&gt; cats = getHibernateTemplate().findByCriteria(criteria); ``` #### 三、Criterion与Projection **1. Criterion** - **定义**:`Criterion`是`Criteria`的查询条件。它定义了查询的具体条件,如等于、...

    hibernate-Criteria

    List&lt;Cat&gt; cats = getHibernateTemplate().findByCriteria(detachedCriteria); ``` ##### 2. Projection 除了基本的查询之外,`Criteria`还支持`Projection`,即可以选择特定的列进行查询。例如,可以计算所有猫的...

    Criteria详解

    2. **使用DetachedCriteria:** 当需要执行查询时,可以通过`getHibernateTemplate().findByCriteria`方法来使用这个`DetachedCriteria`实例。 ```java List&lt;Cat&gt; cats = getHibernateTemplate().findByCriteria...

Global site tag (gtag.js) - Google Analytics