`
liyueling
  • 浏览: 80526 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Hibernate实现模糊查询的方法

阅读更多

大家都知道使用本地SQL进行模糊查询用关键字 LIKE 对于在Hibernate里怎么实现呢?

 

一、绑定参数法:

 

Session session=HibernateUtil.getSessionFactory
().getCurrentSession(); 

session.beginTransaction();

String strSQL="from Classes as a where a.classno like :name";

Query query = session.createQuery(strSQL);
       
query.setString("name", "%"+OId+"%");
       
List result=query.list();

 
二、在面向对象的查询语言 HQL

 

Session session = HibernateUtil.getSessionFactory().getCurrentSession(); 
   
session.beginTransaction();

List result=session.createQuery("from Classes as a where a.classno 

like " '%"+OId+"%'").list();

 

三、模糊查询参数化

 

Session session=HibernateUtil.getSessionFactory().getCurrentSession();

session.beginTransaction();

List result=session.createQuery("from Classes as a where a.classno  

like :name").setParameter("pid",OId).list();

 

 

Hibernate模糊查询参数化的问题

 

from Project o where 1=1 and o.isDeleted=? and o.prjName like ?; query.setString(i, "%"+实际查询条件+"%"); 注意参数中第一个百分号的左边与第二个百分号的右边都没有单引号,这和平时写SQL语句是不同的,要特别关注一下。另外还应该了解一下俩点的区别

HQL:from Project o where 1=1 and PRJ_NAME like '%strCond%';//这里PRJ_NAME 应该是数据库表中的实际字段名

HQL:from Project o where 1=1 and o.PRJ_NAME like '%strCond%';//这里PRJ_NAME 应该是实体类的属性名

HQL:from Project o where 1=1 and PRJ_NAME like '?';//这里的?不视为占位参数HQL:from Project o where 1=1 and PRJ_NAME like ?;//设置参数值时会自动在参数值两边加上单引号。

3
0
分享到:
评论
1 楼 李释然 2010-04-07  
很基础的东西,很好啊。

相关推荐

    hibernate 模糊查询 分页

    本篇文章将深入探讨如何使用Hibernate实现模糊查询和分页功能,这对于任何需要处理大量数据的应用程序来说都是至关重要的技能。 首先,让我们了解Hibernate的核心概念。Hibernate是一个开源的JPA(Java Persistence...

    struts+hibernate分页 模糊查询

    - 在DAO层的`findItemsByPage`方法中添加条件判断,使用LIKE实现模糊查询。 2. **修改Action层**: - 在Action层中增加接收模糊查询关键字的参数。 - 调用DAO层的方法时传入关键字。 3. **视图层处理**: - 在...

    Hibernate-Criteria 模糊查询

    在Hibernate中,`Criteria`接口支持使用`Expression`类及其子类来实现模糊查询。例如,使用`like`表达式来进行模糊匹配: ```java Criteria criteria = session.createCriteria(User.class); criteria.add...

    Hibernate-Criteria_模糊查询

    通过上述介绍,我们可以看到,利用Hibernate的Criteria API进行模糊查询不仅提供了极大的灵活性,还极大地简化了查询语句的编写过程,使得开发者能够更加专注于业务逻辑的实现。当然,随着项目的复杂度增加,可能还...

    hibernate的HQL的模糊查询

    通过将用户输入的关键字转化为HQL的`like`表达式,可以实现动态的、灵活的模糊查询,提高用户体验。 五、注意事项 - 使用HQL模糊查询时,注意防止SQL注入,确保传入的参数是安全的。 - 大量的模糊查询可能导致性能...

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

    在Hibernate中,可以通过`like`操作符结合通配符实现模糊查询: ```java String hql = "from User as user where user.id like :id"; factory = DBHelper.getSessionFactory(); Session session = factory....

    Nhibernate的模糊查询

    在`IQueryOver`中,你可以使用`WhereRestriction.On()`方法配合`NHibernate.Criterion.Restrictions`类的`Like`方法来实现模糊查询。例如: ```csharp var query = session.QueryOver() .Where(Restrictions....

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

    此外,Spring还可以与Hibernate集成,实现数据访问层的事务管理。 **Hibernate** Hibernate是一个对象关系映射(ORM)框架,它简化了数据库操作,将Java对象和数据库记录进行映射,使得开发者可以使用面向对象的...

    ssh实现模糊查询,分页及增删改查功能

    在这个场景中,我们将深入探讨如何利用SSH框架实现模糊查询、分页以及增删改查(CRUD)功能,并与Oracle 10g数据库进行交互。 **一、SSH框架简介** SSH框架由三个主要部分组成: 1. **Struts2**:这是一个基于MVC...

    struts+hibernate 整合实现模糊搜索

    5. **Action与Service层交互**: 在Action中调用Service层的方法,传递用户输入的搜索条件,Service层再通过Hibernate执行模糊查询,并将结果返回给Action,最后由Action将结果显示在页面上。 6. **错误处理与事务...

    ssh框架实现登录增删改查和分页怎样实现模糊查询

    在这个主题中,我们将探讨如何在SSH框架下实现登录功能、增删改查操作以及分页和模糊查询。 1. **登录功能实现**: - Struts2作为前端控制器,处理用户的HTTP请求,通过Action类接收登录表单的数据。 - Spring...

    ssh框架的模糊查询

    在"ssh框架的模糊查询"这个主题中,我们将深入探讨如何在SSH框架下实现对数据的增删改查(CRUD)操作,以及模糊查询和分页显示功能。 首先,让我们来理解增删改查的基础。在SSH框架中,Struts2作为前端控制器处理...

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

    在SSH框架中,我们可以利用Hibernate的HQL(Hibernate Query Language)或JPA(Java Persistence API)的 Criteria API 来实现模糊查询。例如,我们可能在用户搜索时,使用LIKE关键字配合通配符%来找到包含特定字串...

    hibernate常用的模板方法

    Hibernate 模板方法是 Hibernate 框架中用于简化数据访问操作的重要工具,它提供了一系列预定义的方法,方便开发者在实际的软件开发中执行常见的数据库查询和操作。这些方法主要集中在 `HibernateTemplate` 类中,...

    ssh2注解实现增删改查分页

    例如,使用Critiera的createCriteria方法配合Restrictions的like方法,就可以实现模糊查询。同时,Struts2的Action类中也可以使用注解定义方法,接收来自页面的参数,然后调用Service层的方法进行查询。 分页功能...

    SSH下实现的增删改查分页简单的模糊查询

    在Hibernate中,我们可以使用LIKE操作符配合通配符%实现模糊查询。例如,如果用户输入的关键词为"test",我们的查询语句可以写成`from Table where column like '%test%'`。在Struts中,我们可以把关键词作为参数...

    ajax+ssh模拟百度模糊查询 下拉框值改变时

    在模拟百度模糊查询的场景中,Struts2接收Ajax请求,调用Spring的服务方法,然后将返回的数据转换为JSON格式,以便前端JavaScript处理。 **4. Hibernate ORM框架** Hibernate是一个对象关系映射(ORM)工具,它简化...

    基于Spring的Hibernate Search全文检索功能示例

    1. **模糊匹配**:通过`MatchMode`和`FuzzyOptions`可以实现模糊匹配,提高用户搜索的灵活性。 2. **排序**:使用`Sort`对象,可以根据相关性或其他字段对结果进行排序。 3. **过滤和分页**:可以添加`...

Global site tag (gtag.js) - Google Analytics