Criteria Query常用的查询限制方法 eq gt lt le in like allEq and or isNull isNotNull asc desc

近期正在使用Criteria 

Criteria Query常用的查询限制方法


Restrictions.eq() equal,=
Restrictions.allEq() 参数为Map对象,使用key/value进行多个等于的对比,相当于多个Restrictions.eq()的效果
Restrictions.gt() greater-than, >
Restrictions.lt() less-than, <
Restrictions.le() less-equal, <=
Restrictions.between() 对应SQL的between子句
Restrictions.like() 对应SQL的like子句
Restrictions.in() 对应SQL的in子句
Restrictions.and() and关系
Restrictions.or() or关系
Restrictions.isNull() 判断属性是否为空,为空返回true,否则返回false
Restrictions.isNotNull() 与Restrictions.isNull()相反
Order.asc() 根据传入的字段进行升序排序
Order.desc() 根据传入的字段进行降序排序
MatchMode.EXACT 字符串精确匹配,相当于“like 'value'”
MatchMode.ANYWHERE 字符串在中间位置,相当于“like '%value%'”
MatchMode.START 字符串在最前面的位置,相当于“like 'value%'”
MatchMode.END 字符串在最后面的位置,相当于“like '%value'

 实例

    public List<Roe> listRoeDescByDt(Session session, String stockCode) {
        float threshold=0;//用来做数据比较的阈值
        Criteria criteria = session.createCriteria(Roe.class, "r");
        criteria.add(Restrictions.gt("reportValue", threshold));//大于0才取
        criteria.createCriteria("stock").//用Roe(一方)的关联对象sotck(多方)(实例化后的)做条件
                add(Restrictions.like("stockCode", stockCode));//添加查询条件,用股票代码查询
        criteria.addOrder(Order.desc("r.reportDt"));//用roe的报告日期降序排列
        List<Roe> models = criteria.list();
        return models;
    }

 

 

posted @ 2020-11-24 10:57  不打鱼光晒网  阅读(1126)  评论(0)    收藏  举报