MyBatis 中#与$的区别

${参数},该参数不会转义,会被直接写入sql中,无法防止sql注入攻击。

#{参数},该参数会被转义成字符串,和?占位符功能相似,转义后,可以防止sql注入攻击。

$一般用来传数据库对象,比如表名

一般能用#就不要用$

ps:mybatis还会遇到 <![CDATA[]]> 的用法,该符号内的内容不会被当成字符串,而是直接当一个sql语句,比如执行一个存储过程

猜你喜欢

转载自blog.csdn.net/qq_33719636/article/details/80328054