Hibernate 模糊查询 ' %?% ' SQL执行异常
今天我在使用Hibernate 的SQL预编译之后注入参数的形式写了一条模糊查询语句。刚开始我是这么写的
  
然后当我执行这条SQL语句后
  
可以看到结果是无效字符SQL异常。
然后我查了下原因,发现以上SQL在预编译时缺少 ' ' 才导致SQL异常
  
下面我改成这种方式
  
结果输出如下
  
这问题原因是什么呢?
原因:HQL语句中''中的?没有解析成占位符,确解析成字符串了。
所以按照要求要去掉' ',但去掉' '就会报上面一项错误。
在我咨询了同事自后,我的问题得到了解决。解决的方法就是使用SQL 中的 || 字符串连接符。
  
这种方式就避免了上面两种方式带来的异常问题 ,而且还是用了SQL预编译,防范了SQL注入攻击。
以上是我工作中一个小问题,特此记录,以备以后自己查阅
Hibernate 模糊查询 ' %?% ' SQL执行异常的更多相关文章
- hibernate模糊查询
		
hibernate模糊查询-Restrictions.ilike & Expression.like Criteria criteria = session.createCriteria(Ta ...
 - 查询SQL执行情况
		
/* 查询SQL执行情况 包含逻辑读取信息,执行信息等情况*/ SELECT creation_time N'语句编译时间' ,last_execution_time N'上次执行时间' ,total ...
 - Oracle数据库,忽略大小写Like模糊查询(SQL Server,MySql原理相同)
		
背景 在使用Oracle或者其它数据库时,使用like 关键字进行模糊查询是大家经常使用的功能,在纯中文环境中使用非常好用,还有一些通配符可以使用,但是在纯英文环境中,会出现大小需要精确匹配的问题,主 ...
 - asp下实现多条件模糊查询SQL语句
		
常写一个简单的模糊查询的SQL语句格式可以如下例: sql="select * from 表名 where 字段名 like ’%" & request.form(&quo ...
 - 实现多条件模糊查询SQL语句
		
很多网友问到如何写模糊查询语句和多条件查询,这里我整理了一下,假设以姓名.性别.电话号...作为数据库中的字段名. 通常写一个简单的模糊查询的SQL语句格式可以如下例: sql="selec ...
 - sql 根据日期模糊查询&SQL Server dateTime类型 模糊查询
		
曾经遇到这样的情况,在数据库的Meeting表中有PublishTime (DateTime,8)字段,用来存储一个开会时间,在存入时由于要指明开会具体时间,故格式为yyyy-mm-dd hh:mm: ...
 - mybatis模糊查询sql
		
今天下午做的一个功能,要用到模糊查询,字段是description,刚开始我的写法用的是sql中的模糊查询语句, 但是这个有问题,只有将字段的全部值传入其中,才能查询,所以不是迷糊查询. 后来经过搜索 ...
 - Mysql资料 查询SQL执行顺序
		
目录 一.Mysql数据库查询Sql的执行顺序是什么? 二.具体顺序 一.Mysql数据库查询Sql的执行顺序是什么? (9)SELECT (10) DISTINCT column, (6)AGG_F ...
 - sql运算符优先级及逻辑处理顺序--查询sql执行顺序
		
sql逻辑处理顺序 --开启和关闭查询 --SET STATISTICS TIME ON---------------------------------------------请先来看看SET ST ...
 
随机推荐
- windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error
			
windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error 学习了:https ...
 - 【Nginx】事件驱动框架和异步处理
			
Nginx对请求的处理是通过事件触发的,模块作为事件消费者,仅仅能被事件收集.分发器调用.这与传统的Webserver是不同的. 传统的Webserver下,一个请求由一个进程消费.请求在建立连接后将 ...
 - 百度地图 创建 自定义控件(vue)
			
1.组件代码 Bmap.vue <!-- 离线地图 组件 --> <template> <div id="map" :style="styl ...
 - Unable to satisfy the following requirements解决方式
			
今天从git上面download我们项目,然后向往常一样安装Cocoapods.可是却突然发现报错了,尝试了几遍.发现一直报错. 然后我这才看了一下,安装Cocoapods的日志,发现抛出了一个报错. ...
 - python(37)- 软件开发规范
			
软件开发规范 一.为什么要设计好目录结构? 1.可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等.从而非常快速的了解这个项目. 2 ...
 - VS2010配置QT5.5.0开发环境
			
一.官网下载QT和qtvsaddin插件 网址:http://www.qt.io/download-open-source/ 1. 2. 3. 得到下载的安装包,点击安装就能够了 watermark/ ...
 - centos7下memcached的安装配置
			
memcached 依赖 libevent-devel 首先安装libevent-devel yum -y install libevent-devel 安装完毕! 继续安装memcached yum ...
 - python--多种程序分析(2)
			
1.文件操作有哪些模式?请简述各模式的作用 r模式只读 w模式只写 a模式只添加 r+可读可写 w+可写可读 a+可读可添加 rb 二进制只读 wb 二进制只写 ab 二进制添加 ...
 - git学习(4)---工作流
			
一.目的 前三章介绍了git工具本身的操作,主要包含本地仓库操作和远程库操作两部分内容.接下来,我们将介绍怎样使用git进行项目开发,也叫做git工作流. git工作流分为三种模式:共享远程库模式.独 ...
 - 虚拟网卡TUN/TAP 驱动程序设计原理
			
昨天韦哥写了<Linux下Tun/Tap设备通信原理>一文,只提到了两个使用Tun的用户进程之间的通信路径,并没有说明Tun虚拟网卡驱动是如何实现的,而正好看到了这里的一篇讲解这方面的文章 ...