Mybatis 中在传参时,$ 和# 的区别
来源:互联网 发布:网络公开课 编辑:程序博客网 时间:2024/06/11 09:24
MyBatis中使用parameterType向SQL语句传参,parameterType后的类型可以是基本类型int,String,HashMap和Java自定义类型。
在SQL中引用这些参数的时候,可以使用两种方式#{parameterName}或者${parameterName},
首先,我们说一下这两种引用参数时的区别,使用#{parameterName}引用参数的时候,Mybatis会把这个参数认为是一个字符串,例如传入参数是“Smith”,那么在SQL(Select * from emp where name = #{employeeName})使用的时候就会转换为Select * from emp where name = 'Smith';同时在SQL(Select * from emp where name = ${employeeName})使用的时候就会转换为Select * from emp where name = Smith。
再次,从安全性上考虑,能使用#尽量使用#来传参,因为这样可以有效防止SQL注入的问题。
最后总结一下必须使用$引用参数的情况,我能想到的目前只有一种,那就是参数的int型的时候,必须使用$引用。
0 0
- Mybatis 中在传参时,$ 和# 的区别
- Mybatis 中在传参时,$ 和# 的区别
- Mybatis 中在传参时,$ 和# 的区别
- Mybatis 中在传参时,$ 和# 的区别
- Mybatis 中在传参时,$ 和# 的区别
- Mybatis 中在传参时,$ 和# 的区别
- Mybatis 中在传参时,$ 和# 的区别
- mybatis中#和$的区别
- mybatis中#和¥的区别
- Mybatis中#和$的区别
- Mybatis中#和$的区别
- mybatis中$和#的区别
- MyBatis中$和#的区别
- MyBatis中$和#的区别
- MyBatis中#和$的区别
- mybatis中#{}和${}的区别
- Mybatis中#和$的区别
- MyBatis中#{}和${}的区别
- 从头到尾彻底理解KMP
- HDU 5667 Sequence 【矩阵快速幂】
- Jenkins安装及使用(CentOS6.5)
- HTML5第五课时,字体属性
- mybatis传参只有一个时,如何对参数值进行判断
- Mybatis 中在传参时,$ 和# 的区别
- 动态规划
- NLP+VS︱深度学习数据集标注工具、图像语料数据库、实验室搜索ing...
- deepin linux
- 20170412
- HTML5第五课时,背景图片
- 嵌入式编译器
- Java 多态
- 进程与线程