博客
关于我
【Mybatis】-mybatis中传递参数时,会加上单引号
阅读量:370 次
发布时间:2019-03-04

本文共 429 字,大约阅读时间需要 1 分钟。

一、项目描述

今天对项目进行改BUG的时候,遇到了一个查找数据的时候,总是不对,于是自己就开始DEBUG,但是发现传入的参数也都没有问题啊,所以想到不是代码的问题,那就是sql的问题。

 

于是我就跟着断点一步一步的走,发现sql语句好像也没有错,自己就查了查相关的知识。

 

二、解决方案

将#改成$符号

三、相关知识

 (1)使用#{参数}传入会加上单引号,sql语句解析是会加上'',

select * from table where name = #{name}

比如上面的语句中的变量name传入为小东c,那么打印出来的结构就是 

select * from table where name ='小东c'

就会当成字符串来解析,这样相比于$的好处就是防止sql注入。 

 (2) ${}

另外的一种场景是,如果要做动态的排序,比如 order by column ,这个时候务必要用${},因为如果你使用了#{},那么打印出来的将是下面这样的,这样是没有用的。

 

转载地址:http://jphe.baihongyu.com/

你可能感兴趣的文章
Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
查看>>
MangoDB4.0版本的安装与配置
查看>>
Manjaro 24.1 “Xahea” 发布!具有 KDE Plasma 6.1.5、GNOME 46 和最新的内核增强功能
查看>>
mapping文件目录生成修改
查看>>
MapReduce程序依赖的jar包
查看>>
mariadb multi-source replication(mariadb多主复制)
查看>>
MaterialForm对tab页进行隐藏
查看>>
memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
查看>>
memset初始化高维数组为-1/0
查看>>
MS UC 2013-0-Prepare Tool
查看>>
MSCRM调用外部JS文件
查看>>
MSSQL数据库查询优化(一)
查看>>
MSSQL日期格式转换函数(使用CONVERT)
查看>>
MSTP是什么?有哪些专有名词?
查看>>
Mstsc 远程桌面链接 And 网络映射
查看>>
Myeclipse常用快捷键
查看>>
MyEclipse用(JDBC)连接SQL出现的问题~
查看>>
myeclipse的新建severlet不见解决方法
查看>>
MyEclipse设置当前行背景颜色、选中单词前景色、背景色
查看>>
MyEclipse配置SVN
查看>>