读书人

hibernate中查询条件施用

发布时间: 2013-01-08 14:02:13 作者: rapoo

hibernate中查询条件使用

hibernate中经常用到带多个参数的查询条件语句,如果悲催的使用语句的拼写成hql查询语句就浪费了轻量级持久层框架了,也不是面向对象化操作数据库了。

?

在这里hibernate提供了SimpleExpression来存放查询的条件,Restrictions。

?

List<SimpleExpression> expressions = new ArrayList<SimpleExpression>();

创建SimpleExpression的集合来存放所有的查询条件。

?

expressions.add(Restrictions.qt("quartzdate",params));//注意参数1是实体对应的字段(不是数据库字段),参数2是从前台传来的查询参数。

?

Restrictions使用:

?

Restrictions.eq() ? ?等于

Restrictions.ne() ? ?不等于

Restrictions.gt() ? ? 大于

Restrictions.ge() ? ?大于等于

Restrictions.lt() ? ? ?小于

Restrictions.le() ? ? 小于等于

Restrictions.isnull ?等于null

Restrictions.isNotNull() ?不等于null

Restrictions.like() ? 字符串匹配

Restrictions.and() ?逻辑与

Restrictions.or() ? ? 逻辑或

Restrictions.not() ? 逻辑非

Restrictions.in() ? ? ?等于列表中的值

Restrictions.not(Restrictions.in()) ?不等于任何一个

Restrictions.between() ?在两者之间

?

?

Criteria criteria = getSession().createCriteria(Feedback.class);

取得?Criteria?;代表一次查询。

Criterion:代表一个查询条件。

Restrictions:产生查询条件的工具类。

?

criteria.setMaxResults(count).setFirstResult(start);//分页

?

for(SimpleExpression exp:expressions?){//添加查询条件

criteria.add(exp);

}

?

criteria.addOrder(Order.desc("createOn"));//添加排序条件

?

return criteria.list();//执行数据查询

?

?

?

?

?

读书人网 >开源软件

热点推荐