`
jayyanzhang2010
  • 浏览: 380263 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

HQL 简单的几种带条件查询方法

阅读更多
条件查询
* 可以采用拼字符串的方式传递参数
* 可以采用 ?来传递参数(索引从0开始)
* 可以采用 :参数名 来传递参数
* 如果传递多个参数,可以采用setParamterList方法
* 在hql中可以使用数据库的函数,如:date_format

第一种:可以拼字符串
   List students = session.createQuery("select s.id, s.name from Student s where s.name like '%1%'").list();

第二种:可以使用?方式传递参数
    //参数的索引从0开始
   //传递的参数值,不用单引号引起来
   //注意方法链编程
   List students = session.createQuery("select s.id, s.name from Student s where s.name like ?")
               .setParameter(0, "%1%")
               .list();

第三种:参数名称 的方式传递参数值
   List students = session.createQuery("select s.id, s.name from Student s where s.name like :myname")
               .setParameter("myname", "%1%")
               .list();

第四种:参数名称 的方式传递参数值
  List students = session.createQuery("select s.id, s.name from Student s where s.name like :myname and s.id=:myid")
               .setParameter("myname", "%1%")
               .setParameter("myid", 12)
               .list();

第五种:支持in,需要使用setParameterList进行参数传递
   List students = session.createQuery("select s.id, s.name from Student s where s.id in(:myids)")
         .setParameterList("myids", new Object[]{1, 2, 3, 4, 5})
               .list();

第六种:在hql中可以使用数据库的函数,如:date_format
//查询2010年2月创建的学生
   List students = session.createQuery("select s.id, s.name from Student s where date_format(s.createTime, '%Y-%m')=?")
         .setParameter(0, "2010-02")
               .list();

第七种:between
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  
   //查询2010-01-10到2010-02-15创建的学生
   List students = session.createQuery("select s.id, s.name from Student s where s.createTime between ? and ?")
         .setParameter(0, sdf.parse("2010-01-10 00:00:00"))
         .setParameter(1, sdf.parse("2010-02-15 23:59:59"))
               .list();
分享到:
评论

相关推荐

    NHibernate HQL 条件查询

    QBC是一种基于API的查询构建方法,它通过一系列的API调用来构造查询条件,相比于HQL,QBC更加强调类型安全和延迟绑定,使得查询条件的构建更为灵活和强大。在QBC中,主要涉及四个核心概念:`Criteria`、`Criterion`...

    hibernate hql各类查询范例

    在第一个示例中,我们看到一个名为 `findPerson` 的方法,该方法执行了一个 HQL 查询来查找满足特定条件的人。这里的 HQL 语句为: ```java "from syidt.modules.grp.basegrp.persistence.Person as person where ...

    HQL是hibernate自己的一套查询

    4. **灵活性**:HQL支持多种查询方式,包括简单查询、复杂查询、联接查询等。 ### HQL的基本使用 #### 1. 简单查询示例 ```java Session session = HibernateUtil.getSession(); String hql = "FROM Admin AS ...

    hibernateHQL关联查询

    通过本文的介绍,我们不仅回顾了数据库表连接的基础知识,还深入了解了Hibernate HQL关联查询的实现原理及应用方法。对于开发者而言,掌握HQL关联查询不仅可以提高查询效率,还能让代码更加简洁易懂。希望本文能帮助...

    HQL的几钟常见写法

    本文将介绍几种常见的HQL查询方式及其应用场景。 #### 1. 基本的查询语句 **示例:** ```hql from DesignActivity ``` **解析:** 这个简单的HQL语句用于查询`DesignActivity`表中的所有记录。这里的`Design...

    Hibernate之HQL查询

    在Hibernate中,HQL(Hibernate Query Language)是其内置的一种面向对象的查询语言,它是SQL的面向对象版本,用于检索和操作持久化对象。HQL查询的使用极大地提高了开发效率,因为它将数据操作与具体的数据库结构...

    hibernate 中HQL语句查询学习笔记

    **HQL**(Hibernate Query Language)是Hibernate框架推荐使用的查询语言,它提供了一种面向对象的方式来查询数据库,支持多种复杂的查询操作,如继承、多态及关联关系的查询。 ##### 默认数据库表和数据 在本文档...

    NHibernate查询语言(HQL)文档.

    NHibernate查询语言(HQL)是一种专门为NHibernate对象/关系映射框架设计的面向对象的查询语言。它允许开发者使用面向对象的术语来编写数据库查询,而不是传统的SQL语法。HQL紧密集成面向对象的概念,如继承、多态和...

    hibernate查询语句--HQL

    本文将深入探讨 HQL 的几个关键方面,包括基本的查询语法、连接操作以及聚合函数等。 #### 基本查询语法 HQL 查询的基本语法与 SQL 非常相似,但又有所不同。以下是一些基本的 HQL 查询示例: 1. **简单查询**: ...

    hibernate -HQL

    HQL的完整语法结构包括以下几个关键部分:`select`, `update`, `delete`, `from`, `where`, `group by`, `having`, `order by`。值得注意的是,`update` 和 `delete` 操作是在Hibernate 3版本中引入的新特性,这使得...

    Hibernate 查询体系

    以下是一个简单的 HQL 查询示例,用于演示如何使用 HQL 来查询数据: ```java public class HqlQuery { public static void main(String[] args) throws Exception { HqlQuery manager = new HqlQuery(); // ...

    QBC的各种查询

    接下来,我们将详细讨论QBC的几种常见查询: 1. **基本查询**:通过Criteria接口的add(Restriction restriction)方法添加查询条件,如eq("property", value)表示等于,ne("property", value)表示不等于,gt(...

    Hibernate查询解决方案

    本文将详细介绍 Hibernate 提供的几种查询方式及其应用场景。 #### 二、重要知识点 ##### 1. Session 对象与查询操作 在 Hibernate 中,所有持久化操作都需要通过 Session 对象来完成,包括查询操作。Session ...

    QBC查询的别名方的

    本文详细解析了QBC查询中的几个关键概念及其应用场景,包括HBM映射文件与HQL的关系、Projection的作用、Criterion和Order条件的使用等。此外,还提供了一个简单的JavaScript页面刷新示例。通过这些内容的学习,可以...

    安博Hibernate最全培训资料内部版

    - **设置查询条件**:通过`add`方法添加查询条件。 - **获取查询结果**:通过`list`方法获取查询结果集。 ### 五、总结 通过对以上内容的学习,可以了解到Hibernate不仅提供了一种强大的ORM解决方案,还为开发者...

    Hibernate学习笔记(2)

    以下是对几种查询方法的详细解释: 1. `get()` 和 `load()`:两者都用于根据ID获取对象,但有关键区别。`get()` 直接从数据库中获取数据,如果不存在则返回`null`;而`load()` 则返回一个代理对象,只有当调用其...

    NHibernate之旅全集(专业学习文档)

    条件查询是NHibernate提供的另一种查询方式,允许开发者通过更直观的方式来构建查询条件。 1. **条件查询(CriteriaQuery)**:介绍了Criteria API的基本概念和使用方法。 2. **根据示例查询(QueryByExample)**:提供...

    Hibernate生产SQL语句

    5. **HQL/JPQL**:这两种是面向对象的查询语言,类似于SQL,但更贴近Java。HQL用于Hibernate,JPQL是JPA规范的一部分。它们可以方便地处理复杂的关联查询和聚合函数。 6. **Java反射**:在模仿Hibernate生成SQL时,...

    criteria介绍与使用

    在Hibernate框架中,`Criteria`提供了一种非常灵活且强大的查询机制,允许开发者构建复杂的查询条件,而无需编写HQL或SQL语句。本文将详细介绍`Criteria`的基本概念、使用方法以及其提供的各种功能特性。 #### ...

    hibernate语句大全

    以上介绍了Hibernate中几种常见的查询方式,包括HQL、QBC、原生SQL以及一些高级查询技巧如分组、排序等。掌握这些基本操作可以帮助开发者更高效地使用Hibernate框架进行数据访问操作。随着实践经验的积累,还可以...

Global site tag (gtag.js) - Google Analytics