`

Hibernate模糊查询三种方式

阅读更多
1、如果是Query query = session.createQuery("")的话,试一下去掉前面的“select *”即createQuery方法内的条件直接是“from ......”,有几个是可以用的,因为支持部分SQL。
不行的话就用下面的格式(排序必用):    
select OBJECT(o) from A o where o.b in(21,32)
select OBJECT(o) from A o order by o.b ASC

2、Hibernate中实现模糊查询,可有以下三种方式:

第一种方式:QBC查询
String name = "", info = "";
if (sub != null && sub.getSubname() != null) {
  name = sub.getSubname();
}
if (sub != null && sub.getSubinfo() != null) {
  info = sub.getSubinfo();
}
Criteria cr = session.createCriteria(Subject.class);
cr.add(Expression.like("subname","%"+name+"%"));
cr.add(Expression.like("subinfo","%"+info+"%"));

第二种方式:HQL查询语句
  String hql = "from Subject as s where s.subname like :name and s.subinfo like :info";
// 调用session的获得数据列表方法,传递HQL查询语句
   Query query = session.createQuery(hql);
   query.setString("name","%"+name+"%");
   query.setString("info","%"+info+"%");
   System.out.println("*********"+hql);

第三种方式:HQL查询语句(查询条件只能为英文或数字,汉字在传递到hibernate内部时出现乱码问题)
String hql = "from Subject as s where s.subname like '%"+name+"%' and s.subinfo like '%"+info+"%'";//调用session的获得数据列表方法,传递HQL查询语句
Query query = session.createQuery(hql);

注:Subject为数据库表subject映射的类;它有相应的属性subname、subinfo及相应的get和set方法;sub为Subject的一个实例化对象。
分享到:
评论

相关推荐

    hibernate 模糊查询 分页

    在IT行业中,ORM(Object-Relational Mapping)框架如Hibernate被广泛用于简化Java...在提供的`SplitPage`文件中,可能包含了具体的实现细节和示例代码,进一步学习这些内容将加深你对Hibernate模糊查询和分页的理解。

    Hibernate-Criteria_模糊查询

    Hibernate的Criteria API是一种灵活、强大的查询方式,它允许开发者构建复杂的查询条件,而不必直接编写SQL语句。Criteria API基于面向对象的方式进行查询构建,可以动态地添加各种查询条件,包括等值比较、范围查询...

    hibernate的HQL的模糊查询

    综上所述,Hibernate的HQL模糊查询是开发中不可或缺的工具,它提供了一种简单而强大的方式来处理数据库的模糊查询需求。通过理解并熟练掌握这些概念,可以更好地利用Hibernate进行数据操作,提升项目的开发效率和...

    Hibernate HQL查询 分页查询 模糊查询.docx

    HQL(Hibernate Query Language)是一种面向对象的查询语言,它允许开发者使用类及其属性来编写查询语句,而不是传统的SQL语句。这使得开发人员能够更加专注于业务逻辑而不用深入到SQL层面。HQL支持各种复杂的查询,...

    Hibernate-Criteria 模糊查询

    本文将深入探讨`Hibernate-Criteria`模糊查询的实现方式,以及其背后的原理。 #### Criteria接口简介 `Criteria`是Hibernate提供的一个用于执行查询的标准API,它基于对象模型而不是SQL语句来构建查询,这使得开发...

    struts+hibernate分页 模糊查询

    模糊查询是一种允许用户输入部分信息,返回所有匹配的结果的查询方式。通常使用LIKE语句实现。 ##### 4.1 实现步骤 1. **修改DAO层**: - 在DAO层的`findItemsByPage`方法中添加条件判断,使用LIKE实现模糊查询。...

    Nhibernate的模糊查询

    对于Nhibernate不直接支持的模糊查询,可以编写自定义的HQL(Hibernate Query Language)来实现。 总结,Nhibernate的模糊查询提供了灵活的API,可方便地在C#代码中完成SQL的`LIKE`操作。然而,使用时要注意性能...

    hibernateCriteria查询

    Hibernate Criteria 查询是一种强大的对象化查询方式,它为开发者提供了一种灵活而直观的方式来构建复杂的查询逻辑。与传统的SQL查询相比,Criteria查询更加面向对象,易于理解和维护。在Hibernate框架中,Criteria...

    ssh框架的模糊查询

    模糊查询是用户输入部分关键词,系统返回匹配结果的一种检索方式。在SSH框架中,这通常通过在Hibernate的HQL(Hibernate Query Language)或者SQL语句中使用LIKE关键字实现。例如,我们可以创建一个方法,在Service...

    hql模糊查询hql模糊查询

    根据提供的文件信息,本文将详细解析HQL(Hibernate Query Language)中的模糊查询技术,并通过具体的代码示例来阐述不同方式下的实现方法。 ### HQL模糊查询概述 HQL是Hibernate框架提供的一种面向对象的查询语言...

    hibernate查询

    本文详细介绍了 Hibernate 的三种主要查询方式:HQL 查询、QBC 查询和 QBE 查询。每种查询方式都有其独特的优势,在实际开发过程中可以根据具体的业务需求选择最适合的方法。HQL 查询适用于较为复杂的查询场景;QBC ...

    Hibernate中Example的用法

    Hibernate作为一款强大的ORM(对象关系映射)框架,提供了多种灵活的查询方式,其中`Example`查询是基于对象实例进行匹配查询的一种方法,它允许开发者通过提供一个实体类的实例来检索数据库中与该实例相似或相等的...

    SSH+模糊查询+分页+增删改查

    模糊查询是在数据库中进行的一种查询方式,允许用户使用通配符来搜索部分或不精确的关键词。在SSH框架中,我们可以利用Hibernate的HQL(Hibernate Query Language)或JPA(Java Persistence API)的 Criteria API 来...

    struts+spring+hibernate实现图书修改和删除

    Hibernate是一个对象关系映射(ORM)框架,它简化了数据库操作,将Java对象和数据库记录进行映射,使得开发者可以使用面向对象的方式来操作数据库。在本项目中,Hibernate被用来执行图书数据的CRUD(创建、读取、...

    struts+hibernate 整合实现模糊搜索

    Struts和Hibernate是两种在Java Web开发中广泛使用的开源框架,它们分别负责表现层和持久层的管理。Struts作为MVC(Model-View-Controller)架构的一部分,主要用于处理用户请求,控制应用程序流程,而Hibernate则是...

    模糊查询示例

    在IT行业中,模糊查询是一种非常实用的技术,尤其是在数据库管理和数据检索方面。模糊查询允许用户使用通配符或者不精确的关键词来搜索数据,这在处理大量数据时特别有用,因为用户可能记不清确切的词句或者关键字。...

    hibernate 中HQL语句查询学习笔记

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

Global site tag (gtag.js) - Google Analytics