criteria 用法

1、通过getHibernateTemplate().getSessionFactory().getCurrentSession().createCriteria()创建criteria对象

2、criteria通过add方法将expression封装起来,criteria是接口,simpleExpression实现了该接口

3、criteria.list()方法,找到符合条件的结果

4、setFirstResult()、setMaxResults()设置开始记录和最大记录数

public List<Product> products(String name, String shortString,
   String itemNo, String categoryId, String subcategoryId,
   Integer offset, Integer length) throws Exception {
  Criteria criteria = openSession().createCriteria(Product.class);
  Criterion ors = null;
  if ((name != null) && (!"".equals(name.trim()))) {
   ors = Restrictions.like("name", name, MatchMode.ANYWHERE);
  }
  if ((shortString != null) && (!"".equals(shortString.trim()))) {
   if(ors == null)
    ors = Restrictions.like("shortString", shortString, MatchMode.ANYWHERE);
   else
    ors = Restrictions.or(ors, Restrictions.like("shortString", shortString, MatchMode.ANYWHERE));
  }
  if ((itemNo != null) && (!"".equals(itemNo.trim()))) {
   if(ors == null)
    ors = Restrictions.like("itemNo", itemNo, MatchMode.ANYWHERE);
   else
    ors = Restrictions.or(ors, Restrictions.like("itemNo", itemNo, MatchMode.ANYWHERE));
  }
  if(ors != null)
   criteria.add(ors);
  if ((categoryId != null) && (!"".equals(categoryId.trim()))) {
   criteria.add(Restrictions.eq("categoryId", categoryId));
  }
  if ((subcategoryId != null) && (!"".equals(subcategoryId.trim()))) {
   criteria.add(Restrictions.eq("subcategoryId", subcategoryId));
  }
  if (offset != null) {
   // 从第几条开始
   criteria.setFirstResult(offset.intValue());
  }
  if (length != null) {
   // 最大显示记录数
   criteria.setMaxResults(length.intValue());
  }
  return criteria.list();
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值