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


浙公网安备 33010602011771号