MyBatis中使用#和$书写占位符的区别

(1)问题分析:

考官主要考察mybatis中变量传参的区别

(2)核心答案讲解:

使用#传入参数时,sql语句解析是会加上"",当成字符串来解析,这样相比于$的好处是比较明显的,#{}传参能防止sql注入,如果你传入的参数为 单引号',那么如果使用${},这种方式 是会报错的
另外一种场景时,如果要做动态的排序,比如 order by column,这个时候务必要用${}。

(3)问题扩展

(4)结合项目中使用

项目中经常用到的是#,因为这样能有效防止sql注入

点击此处
隐藏目录