Criteria Query常用的查询限制方法



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

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

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

CriteriaQuery常用的查询限制方法

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

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

1    张三  zhang3   zhang3   20

</pre> <wbr> 2 <wbr> <wbr>  <wbr>李四 <wbr> <wbr> li4 <wbr> <wbr> <wbr> <wbr> <wbr> li4 <wbr> <wbr> <wbr> <wbr> 21 <wbr> 3 <wbr> <wbr> <wbr> your <wbr> <wbr>test <wbr> <wbr> <wbr> <wbr> <wbr>test <wbr> <wbr> <wbr> <wbr> 30<p></p><p></p><p> </p><p></p><p>------------------------------------------------------------------------------------</p><p></p><p>例2:</p><p></p><p> <wbr></wbr></p><p><pre class="java" name="code">
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", new Object[]{"2","3","4"}));
          }else{
           cri.add(Restrictions.eq("chcStatus", salChance.getChcStatus()));
          }
         }
         result=cri.list();

     } catch (Exception e) {
      e.printStackTrace();
     }finally {
            session.close();
        }
        return result;
时间: 2024-10-09 23:15:55

Criteria Query常用的查询限制方法的相关文章

jQuery常用的查询Dom方法归纳

废话不多说,先来个总结,然后下面是demo 一. 同级节点之间的检索(检索深度N=0) next()是在兄弟节点中,往后匹配; prev()是在兄弟节点中,往前匹配. 二. 父级/子级节点的检索(检索深度N=1) children()是在子节点中,往后匹配. parent()是在父节点中,往前匹配. ps:请注意了---子节点和父节点都是相邻的,深度为1的节点.也就是标题提到的检索深度为1 三. 后代节点的检索(检索深度N>=1) find()检索的是子代元素和后代元素,不会检索兄弟节点. 四.

Hibernate 中Criteria Query查询详解【转】

当查询数据时,人们往往需要设置查询条件.在SQL或HQL语句中,查询条件常常放在where子句中.此外,Hibernate还支持Criteria查询(Criteria Query),这种查询方式把查询条件封装为一个Criteria对象.在实际应用中,使用Session的createCriteria()方法构建一个org.hibernate.Criteria实例,然后把具体的查询条件通过Criteria的add()方法加入到Criteria实例中.这样,程序员可以不使用SQL甚至HQL的情况下进行

hibernate的Criteria Query(转)

当查询数据时,人们往往需要设置查询条件.在SQL或HQL语句中,查询条件常常放在where子句中.此外,Hibernate还支持Criteria查询(Criteria Query),这种查询方式把查询条件封装为一个Criteria对象.在实际应用中,使用Session的createCriteria()方法构建一个org.hibernate.Criteria实例,然后把具体的查询条件通过Criteria的add()方法加入到Criteria实例中.这样,程序员可以不使用SQL甚至HQL的情况下进行

分享知识-快乐自己:Hibernate 中Criteria Query查询详解

1):Hibernate 中Criteria Query查询详解 当查询数据时,人们往往需要设置查询条件.在SQL或HQL语句中,查询条件常常放在where子句中. 此外,Hibernate还支持Criteria查询(Criteria Query),这种查询方式把查询条件封装为一个Criteria对象. 在实际应用中,使用Session的createCriteria()方法构建一个org.hibernate.Criteria实例,然后把具体的查询条件通过Criteria的add()方法加入到Cr

ExtJs007最常用的查询方法

1 Ext.onReady(function () { 2 3 Ext.create('Ext.panel.Panel', { 4 title: '我的面板', 5 width: '100%', 6 height: 400, 7 renderTo: Ext.getBody(), 8 html: '<div id=d1><span id=sp>我是sp的内容</span><div id=d2>我是d2的内容</div></div><

NHibernate之旅(4):探索查询之条件查询(Criteria Query)

本节内容 NHibernate中的查询方法 条件查询(Criteria Query) 1.创建ICriteria实例 2.结果集限制 3.结果集排序 4.一些说明 根据示例查询(Query By Example) 实例分析 结语 上一节,我们介绍了NHibernate查询语言的一种:NHibernate查询语言(HQL,NHibernate Query Language),这一节介绍一下条件查询(Criteria API). NHibernate中的查询方法 在NHibernate中提供了三种查

[转]NHibernate之旅(4):探索查询之条件查询(Criteria Query)

本节内容 NHibernate中的查询方法 条件查询(Criteria Query) 1.创建ICriteria实例 2.结果集限制 3.结果集排序 4.一些说明 根据示例查询(Query By Example) 实例分析 结语 上一节,我们介绍了NHibernate查询语言的一种:NHibernate查询语言(HQL,NHibernate Query Language),这一节介绍一下条件查询(Criteria API). NHibernate中的查询方法 在NHibernate中提供了三种查

nhibernate教程(4)--条件查询(Criteria Query)

NHibernate之旅(4):探索查询之条件查询(Criteria Query) 2008-10-16 18:20 by 李永京, 44341 阅读, 43 评论, 收藏,  编辑 本节内容 NHibernate中的查询方法 条件查询(Criteria Query) 1.创建ICriteria实例 2.结果集限制 3.结果集排序 4.一些说明 根据示例查询(Query By Example) 实例分析 结语 上一节,我们介绍了NHibernate查询语言的一种:NHibernate查询语言(H

Hibernate与数据库交互方式和Hibernate常用的几个方法

第一种,适合sql语言水平比较高的人用 HQL(Hibernate Query Language) 面向对象的查询语言,与SQL不同,HQL中的对象名是区分大小写的(除了JAVA类和属性其他部分不区分大小写):HQL中查的是对象而不是和表,并且支持多态:HQL主要通过Query来操作,Query的创建方式: Query q = session.createQuery(hql); eg: from Person from User user where user.name=:name from U