QBE (Query By Example)
Criteria cri = session.createCriteria(Student.class);
cri.add(Example.create(s)); //s是一个Student对象
list cri.list();
实质:创建一个模版,比如我有一个表serial有一个 giftortoy字段,我设置serial.setgifttoy("2"),
则这个表中的所有的giftortoy为2的数据都会出来
2: QBC (Query By Criteria) 主要有Criteria,Criterion,Oder,Restrictions类组成
session = this.getSession();
Criteria cri = session.createCriteria(JdItemSerialnumber.class);
Criterion cron = Restrictions.like("customer",name);
cri.add(cron);
list = cri.list();
==============================
比较运算符
HQL运算符 QBC运算符含义
= Restrictions.eq() 等于
<> Restrictions.not(Exprission.eq()) 不等于
> Restrictions.gt() 大于
>= Restrictions.ge() 大于等于
< Restrictions.lt() 小于
<= Restrictions.le() 小于等于
is null Restrictions.isnull() 等于空值
is not null Restrictions.isNotNull() 非空值
like Restrictions.like() 字符串模式匹配
and Restrictions.and() 逻辑与
and Restrictions.conjunction() 逻辑与
or Restrictions.or() 逻辑或
or Restrictions.disjunction() 逻辑或
not Restrictions.not() 逻辑非
in(列表) Restrictions.in() 等于列表中的某一个值
ont in(列表) Restrictions.not(Restrictions.in())不等于列表中任意一个值
between x and y Restrictions.between() 闭区间xy中的任意值
not between x and y Restrictions.not(Restrictions..between()) 小于值X或者大于值y
3: HQL
String hql = "select s.name ,avg(s.age) from Student s group by s.name";
Query query = session.createQuery(hql);
list = query.list();
....
4: 本地SQL查询
session = sessionFactory.openSession();
tran = session.beginTransaction();
SQLQuery sq = session.createSQLQuery(sql);
sq.addEntity(Student.class);
list = sq.list();
tran.commit();
相关推荐
在Java的持久化框架Hibernate中,Criteria API提供了一种动态构造SQL查询的方式,它允许开发者在运行时构建查询,而无需硬编码HQL(Hibernate Query Language)或原生SQL语句。Criteria API提供了丰富的功能,包括但...
### Hibernate中Criteria的用法详解 #### 一、概述 在Java开发中,Hibernate作为一款优秀的对象关系映射(ORM)框架,极大地简化了数据库操作的复杂性。而在Hibernate提供的多种查询方式中,Criteria API是一种...
【Hibernate Criteria 用法详解】 Hibernate Criteria API 是一种面向对象的查询方式,它提供了一种比HQL(Hibernate Query Language)更为简洁且直观的查询手段。通过Criteria API,开发者可以构建复杂的查询条件...
在Hibernate中,`Criteria`接口是Criteria查询的基础。要创建一个Criteria实例,可以使用`Session`对象的`createCriteria`方法,该方法接收一个参数,即要查询的实体类类型。例如: ```java Criteria crit = sess....
在Java的持久化框架Hibernate中,Criteria API是一种用于构建动态查询的强大工具,它允许开发者以编程方式构建查询,而不是直接写SQL语句。下面将详细解释Criteria API的使用及其相关概念。 1. Query By Example ...
- **创建方式**:`Criteria` 是在线的,通常由 `HibernateSession` 创建;而 `DetachedCriteria` 是离线的,创建时不依赖于任何 `Session`。 - **使用场景**:`Criteria` 适用于即时查询,而 `DetachedCriteria` 更...
在Hibernate中,`Criteria` 实例是基于特定持久化类进行查询的基础。`Session` 对象充当 `Criteria` 实例的工厂,通过调用 `createCriteria` 方法可以创建一个 `Criteria` 实例,如: ```java Criteria crit = sess....
这个项目提供了一个很好的学习平台,通过查看源代码,你可以了解到如何在实际项目中灵活运用Criteria查询,以及如何与其他Hibernate功能(如事务管理、实体持久化等)结合使用。对于想要深入理解Hibernate和ORM技术...
你可以在查询时添加多个Restrictions,或者在HQL中添加AND、OR等逻辑运算符,根据需求组合各种查询条件。 总的来说,SSH2注解方式实现的Web应用不仅减少了XML配置,提高了开发效率,还使得代码更加清晰、可读性强。...
本文将深入解析五种主要的Hibernate查询方法:QBE(Query By Example)、QBC(Query By Criteria)、HQL(Hibernate Query Language)、本地SQL查询以及QID(Query by Identifier)。 1. QBE(Query By Example) ...
在IT领域中,特别是数据库操作方面,QBC(Query by Criteria)是一种常用的技术手段,它提供了一种灵活的方式来构建查询条件。本文将重点介绍QBC方法中的比较运算符及其具体用法,帮助读者更好地理解和运用这些...
DetachedCriteria和Criteria是Hibernate框架中两个重要的查询工具,用于动态生成SQL语句,进行查询。在Web编程中,DetachedCriteria和Criteria可以解决动态条件查询的问题,提高程序的灵活性和可维护性。 ...
Hibernate支持通过`AND`、`OR`等逻辑运算符组合多个条件,可以使用`Restrictions`类或者在HQL(Hibernate Query Language)中直接编写查询语句。这使得我们可以构建出复杂的查询条件,满足多样化的检索需求。 再者...
| HQL 运算符 | QBC 运算符 | 含义 | |------------|--------------|--------------------------------| | = | Restrictions.eq() | 等于(equal) | | <> | Restrictions.ne() | 不等于(not equal) | | > | ...