hibernateTemplate 模糊分页查询

来源:互联网 发布:2015年淘宝的销售额 编辑:程序博客网 时间:2024/04/29 17:46

Restrictions.like(),Restrictions.in(),Restrictions.eq()等方法


Restrictions.like(属性名, 查询条件的值,匹配方式):

Restrictions.in(属性名, 查询条件的值,匹配方式):

Restrictions.eq(属性名, 查询条件的值,匹配方式):

 

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 search(TblFwxx condition){

  Session session =this.getSession();

  Criteria c =session.createCriteria(TblFwxx.class);

 

  if (null !=condition) {

   if (condition.getTitle() != null &&!condition.getTitle().equals("")) {

      c.add(Restrictions.like("title",condition.getTitle(),MatchMode.ANYWHERE));   

   }

 

 

  c.addOrder(Order.asc("fwid"));

  return c.list();

 

}

 

-------------------------------------------------------------------------------------

例1:

表中的数据为:
userid name username password age
------------------------------------------------
   张三  zhang3  zhang3   20
   李四  li4     li4    21
   your  test     test    30

 

Session session = HibernateSessionFactory.getSession();
Criteria criteria = session.createCriteria(Test.class);
List<Test> list =criteria.add(Restrictions.like("name", "%your%"))
.add(Restrictions.like("username", "test"))
.add(Restrictions.eq("age", 30))
.list();

------------------------------------------------------------------------------------

例2:

 

private Session session;

public List criteria(SalChance salChance) {
 
 List result =null;  
    try { 
     session =super.getSession(); 
        Criteria cri = session.createCriteria(SalChance.class);
        if(salChance.getChcCustName()!=null&&salChance.getChcCustName()!=""){
         cri.add(Restrictions.like("chcCustName",salChance.getChcCustName(),MatchMode.ANYWHERE));
        }
        if(salChance.getChcTitle()!=null&&salChance.getChcTitle()!=""){
         cri.add(Restrictions.like("chcTitle",salChance.getChcTitle(),MatchMode.ANYWHERE));
        }
        if(salChance.getChcLinkman()!=null&&salChance.getChcLinkman()!=""){
         cri.add(Restrictions.like("chcLinkman",salChance.getChcLinkman(),MatchMode.ANYWHERE));
        }
        if(salChance.getChcStatus()!=null&&salChance.getChcStatus()!=""){
         //System.out.println("状态为:"+salChance.getChcStatus());
         if(salChance.getChcStatus()=="all"){
          cri.add(Restrictions.in("chcStatus", newObject[]{"2","3","4"}));
         }else{
          cri.add(Restrictions.eq("chcStatus",salChance.getChcStatus()));
         }
        }
        result=cri.list();
            
    } catch (Exception e) { 
     e.printStackTrace();
    }finally{   
           session.close();
        
       return result;

0 0
原创粉丝点击