Mybatis中${}和#{}的区别?
Posted master_hxh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis中${}和#{}的区别?相关的知识,希望对你有一定的参考价值。
$ 取完值以后直接拼接到sql语句后面去,相当于字符串的拼接,造成sql注入攻击,安全性问题
# 相当于preparedStatement, ???? 不会造成sql注入攻击,比较安全
List<PersonBean> getByCondition3(@Param("name") String name, @Param("add") String add);
<select id="getByCondition" resultMap="stu">
select *from student where sname=${name}
</select>
sql结果:
select *from student where sname=1 or 1=1
select *from student where sname=‘1 or 1=1‘
以上是关于Mybatis中${}和#{}的区别?的主要内容,如果未能解决你的问题,请参考以下文章
MyBatis中resultMap=“Map”和resultType=“Map”区别