`

Hibernate Criteria简单查询实例

阅读更多

Criteria查询

Hibernate中的Criteria API提供了另一种查询持久化的方法。它让你能够使用简单的API动态的构建查询,它灵活的特性通常用于搜索条件的数量可变的情况。
Criteria查询之所以灵活是因为它可以借助Java语言,在Java的帮助下它拥有超越HQL的功能。Criteria查询也是Hibernate竭力推荐的一种面向对象的查询方式。
Criteria查询的缺点在于只能检索完整的对象,不支持统计函数,它本身的API也抬高了一定的学习坡度。

Criteria查询示例代码

Session session=HibernateUtil.getSession();

Criteria criteria=session.createCriteria(User.class);
  // 条件一:名称以关开头
criteria.add(Restrictions.like("name", "关%"));
// 条件二:email出现在数组中
String[] arr={"1@2.3","2@2.3","3@2.3"};
criteria.add(Restrictions.in("email", arr));
// 条件三:password等于一
criteria.add(Restrictions.eq("password", "1"));
// 排序条件:按登录时间升序
criteria.addOrder(Order.asc("lastLoginTime"));

List<User> users=(List<User>)criteria.list();
System.out.println("返回的User实例数为"+users.size());
for(User user:users){
System.out.println(user);
}

  HibernateUtil.closeSession(session);

 Criteria查询实际产生的SQL语句

select
    this_.ID as ID0_0_,
    this_.name as name0_0_,
    this_.pswd as pswd0_0_,
    this_.email as email0_0_,
    this_.lastLoginTime as lastLogi5_0_0_,
    this_.lastLoginIp as lastLogi6_0_0_ 
from
    USERTABLE_OKB this_ 
where
    this_.name like '关%' 
    and this_.email in (
        '1@2.3', '2@2.3', '3@2.3'
    ) 
    and this_.pswd='1'
order by
    this_.lastLoginTime as

 

c

注:参数是手工加上的。

分享到:
评论

相关推荐

    hibernateCriteria查询

    在Hibernate中,可以通过`Session` 对象的 `createCriteria()` 方法来创建一个`Criteria` 实例,即查询器。查询条件是通过`org.hibernate.criterion.Restrictions` 类来定义的,这个类提供了许多静态方法来模拟SQL...

    Hibernate的Criteria用法总结

    1. **创建Criteria实例**: ```java Criteria criteria = session.createCriteria(User.class); ``` 2. **添加查询条件**: ```java criteria.add(Restrictions.eq("username", "testUser")); ``` 3. **设置...

    Hibernate-Criteria_模糊查询

    2. **创建Criteria实例**:通过Session的createCriteria()方法,指定要查询的实体类,创建Criteria实例。 3. **添加模糊查询条件**:使用Criteria的add(Restrictions.like())方法,其中参数分别为属性名和模糊查询...

    Hibernate-Criteria 模糊查询

    ### Hibernate-Criteria 模糊查询详解 在Java的持久化技术中,Hibernate作为ORM(对象关系映射)框架的一种,提供了强大的数据访问能力。而其中的`Criteria`接口更是为复杂的查询需求提供了一种灵活且功能强大的...

    Hibernate中,利用Criteria查询容器实现sql的写法

    在Java的持久化框架Hibernate中,Criteria API是一种用于构建动态查询的强大工具,它允许开发者以对象化的方式构建SQL语句,而无需直接编写SQL代码。本篇将详细讲解如何在Hibernate中利用Criteria查询来实现类似SQL...

    Criteria hibernate

    本篇内容将聚焦于Hibernate中的Criteria查询,这是一种动态构建SQL查询的方法,无需直接编写SQL语句,非常适合在程序运行时根据条件构建查询。 在Hibernate中,Criteria API提供了一种类型安全的方式来执行查询,它...

    Hibernate中Criteria的完整用法

    Hibernate 的 Criteria 是一种强大且灵活的查询机制,允许开发者根据需求灵活地组装查询条件。Criteria 的设计是基于 CriteriaSpecification 父接口,提供了 Criteria 和 DetachedCriteria 两个实现。 Criteria 和 ...

    hibernate criteria的使用方法

    本文详细介绍了 Hibernate Criteria API 的使用方法,包括基本概念、创建查询实例、添加查询条件以及示例代码分析。通过 Criteria API 可以轻松地构建复杂的查询条件,并且由于其类型安全的特性,可以有效减少编程...

    struts2+spring2+hibernate3注册查询搜索分页实例

    在查询和搜索功能中,Hibernate3通过HQL(Hibernate查询语言)或 Criteria API来执行SQL查询,简化了数据库操作。在分页功能中,Hibernate3的Criteria API可以配合Pageable接口实现数据的分页检索。 在分页功能上,...

    Hibernate Criteria 完全使用

    - `Criteria`:表示一个查询实例,可以添加各种查询条件、排序规则和结果限制。 - `DetachedCriteria`:与Session无关的Criteria,用于延迟加载或预编译查询。 - `Expression`:用于构建查询条件,如 ` ...

    Hibernate的Criteria用法总结.doc

    Hibernate 的 Criteria 是一个完全面向对象、可扩展的条件查询 API,通过它完全不需要考虑数据库底层如何实现、SQL 语句如何实现。Criteria 提供了灵活的查询条件组装方式,能够满足开发中复杂的查询需求。 一、...

    Hibernate_Criteria条件查询数据

    1. **Criteria接口**:Criteria查询的核心是`Session.createCriteria()`方法,它返回一个Criteria实例。这个实例就是构建查询的起点,你可以添加各种限制条件、排序规则以及分组条件等。 2. **添加限制条件**:...

    Hibernate Criteria用法大全.docx

    以下是一个简单的例子,查询所有`Employee`类的实例: ```java Criteria cr = session.createCriteria(Employee.class); List results = cr.list(); ``` 2. **比较运算符** Criteria API 提供了丰富的比较...

    Hibernate中Criteria的使用

    Hibernate 中 Criteria 的使用是 Hibernate 框架中的一种查询机制,对于研究 Hibernate 源码有一些作用。在查询方法设计上可以灵活地根据 Criteria 的特点来方便地进行查询条件的组装。 Criteria 是 Hibernate 中的...

    Hibernate的Criteria文档

    在Java的持久层框架Hibernate中,Criteria API是一个强大的查询工具,它可以用来替代传统的SQL或HQL(Hibernate Query Language)查询,以实现更加面向对象的数据库交互。Criteria API的设计旨在屏蔽不同数据库之间...

    Hibernate中Criteria的完整用法.docx

    例如,创建一个 Criteria 实例 org.hibernate.Criteria 接口表示,可以使用 Criteria 的 add(Criterion criterion) 方法来添加查询条件。Criterion 可以使用 Restrictions 工具类来创建,例如使用 eq、ge、between ...

    Hibernate Criteria

    例如,如果我们要查询名为`TUser`的类,可以这样创建Criteria实例: ```java Criteria ct = session.createCriteria(TUser.class); ``` 接下来,可以通过`add()`方法添加查询条件。例如,我们要查找名字为"Erica...

    hibernateCriteria的使用.docx

    在Java的持久化框架Hibernate中,Criteria API是一种用于构建动态查询的强大工具,它允许开发者以编程方式构建查询,而不是直接写SQL语句。下面将详细解释Criteria API的使用及其相关概念。 1. Query By Example ...

Global site tag (gtag.js) - Google Analytics