MyBatis中使用#和$书写占位符的区别
(1)问题分析:
考官主要考察mybatis中变量传参的区别
(2)核心答案讲解:
使用#传入参数时,sql语句解析是会加上"",当成字符串来解析,这样相比于$的好处是比较明显的,#{}传参能防止sql注入,如果你传入的参数为 单引号',那么如果使用${},这种方式 是会报错的
另外一种场景时,如果要做动态的排序,比如 order by column,这个时候务必要用${}。
(3)问题扩展
无
(4)结合项目中使用
项目中经常用到的是#,因为这样能有效防止sql注入