`
mxl0632
  • 浏览: 17223 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hibernate做模糊查询时需注意

阅读更多
今天做了sql防注入的修改,关于项目中模糊查询发现了一个小问题,致使程序运行不报错,但是无法显示结果 ,心里那个万马奔腾,狂冒汗。不扯了,看看原因:

if (trueOrFalse) {
sql.append(" and c.bacth_pk like ?");
str +="'%" + batchNo + "%',";
}

上面的是错误的代码,想表达的含义是,sql是拼接的语句,str是拼接的参数,然后遍历str动态的给sql占位符赋值,实现防注入。
问题出在了str +="'%" + batchNo + "%',";中。
仔细看单引号,如果在拼接sql中直接使用是没问题的,单在hibernate中是如下使用才正确的。
if (trueOrFalse) {
sql.append(" and c.bacth_pk like ?");
str +="%" + batchNo + "%,";
}
仔细看str +="%" + batchNo + "%,";中没有单引号才能执行成功。


分享到:
评论

相关推荐

    hibernate的HQL的模糊查询

    - 使用HQL模糊查询时,注意防止SQL注入,确保传入的参数是安全的。 - 大量的模糊查询可能导致性能问题,应合理设计索引并优化查询。 - 在处理大量数据时,考虑分页查询以提高效率。 综上所述,Hibernate的HQL模糊...

    Hibernate-Criteria_模糊查询

    在深入探讨Hibernate与Criteria结合进行模糊查询之前,我们先来了解一下Hibernate和Criteria的基本概念,以及为何选择使用它们进行模糊查询。 ### Hibernate简介 Hibernate是一个开放源代码的对象关系映射(ORM)...

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

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

    Nhibernate的模糊查询

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

    hql模糊查询hql模糊查询

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

    hibernate 中HQL语句查询学习笔记

    ### Hibernate中HQL语句查询学习笔记 #### HQL基础 **HQL**(Hibernate Query Language)是Hibernate框架推荐使用的查询语言,它提供了一种面向对象的方式来查询数据库,支持多种复杂的查询操作,如继承、多态及...

    模糊查询示例

    在结合Struts2和Hibernate3进行模糊查询时,首先需要在Action类中定义一个方法,这个方法接收用户的输入,比如模糊查询的关键词。用户通过Struts2的表单提交这些关键词,Struts2框架会根据配置的Action Mapping将...

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

    在SSH框架中,模糊查询通常在查询用户输入时使用。 - 在Service层,可以使用Hibernate的`like()`函数或在HQL中使用`%`通配符构建模糊查询语句。 - 例如,如果用户搜索关键词"张三",查询语句可能是`from User ...

    hibernate的分页模糊查询功能

    同时,为了满足用户在浏览大量数据时的查找需求,模糊查询功能是必不可少的。Hibernate,作为一个强大的ORM(对象关系映射)框架,提供了丰富的功能来支持这些需求。本文将详细介绍如何在Hibernate中实现分页和模糊...

    Hibernate_QBC查询[归类].pdf

    Hibernate QBC(Query By Criteria)查询是Hibernate框架中一种面向对象的查询方式,它通过提供Criteria API使得开发者能够更方便地构建和执行SQL查询。QBC查询的优势在于它允许程序员用更加面向对象的方式处理...

    hibernate学习笔记

    当不与Spring框架结合使用时,Hibernate支持在HQL中直接使用中文字符进行模糊匹配,如`hql = "Select user From Userinfo user where user.username like '%用户名 5%'"`。但在Spring环境下,通常需要使用占位符`...

    hibernate-search-5.3.0.Beta2-dist

    3. **全文检索**:通过`FullTextSession`接口,开发者可以执行复杂的查询,包括关键词匹配、短语搜索、模糊查询等。此外,还可以利用布尔操作符、范围查询、排序和分页等功能,实现高级的搜索逻辑。 4. **实时更新*...

    getHibernateTemplate()有模糊查询和 分页

    在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它简化了数据库操作。...在使用时,要注意优化查询,避免全表扫描,以及正确管理数据库连接和事务,以确保应用的性能和稳定性。

    Hibernate的char问题.txt

    在给定的文件“Hibernate的char问题.txt”中,虽然描述较为模糊,但我们可以根据提供的 SQL 语句推测出,这里讨论的是在使用 Hibernate 进行数据查询时,如何正确地处理 `char` 类型的数据字段。 #### 三、问题分析...

    hibernate.txt

    `setString(0, "%" + name + "%")` 设置了 HQL 查询中的第一个占位符为 `name` 的模糊匹配值。 ##### 4. 添加学生信息 ```java public int addStu(Stuinfo stu) { // ... tx = session.beginTransaction(); ...

    Hibernate-Search

    5. 高级查询:提供布尔逻辑、短语匹配、模糊匹配、范围查询等多种高级查询功能。 6. 断点续搜:当索引文件过大无法一次性加载时,支持断点续搜,提高搜索效率。 三、配置与集成 在Hibernate Search的3.3.0.Final...

    hibernate的hql语句

    【hibernate的HQL语句】是Hibernate框架中用于操作数据库的重要组成部分,它是一种面向对象的查询语言,类似于SQL,但更加强调对象的概念。HQL能够处理复杂的对象关系,如继承、多态和关联,使得在进行SSH(Spring、...

    操作Hibernate类:增加,删除,修改及查询.pdf

    使用HQL(Hibernate Query Language)编写SQL查询语句,例如`"FROM Person as p WHERE p.id = ?"`。设置参数,`q.setString(0, id)`,执行查询并获取结果列表。遍历结果集,将第一个元素转换为`Person`对象并返回。...

Global site tag (gtag.js) - Google Analytics