简介: mybatis 有 # 和 $ 两种输出参数的符号,他们之间是有一些不一样的使用场景..
首先来看一下啊 sql 语句
-
1 sql 语句 (1)使用 ${} sql select * from user u where u.name = '${name}' select * from user u where u.name = 'test' ${} 是直接填充值 (2)#{} sql select * from user u where u.name = #{name} 输出: select * from user u where u.name = ? 比如参数是 name = test sql 语句就是 #{} : select * from user u where u.name = "abc" ${} : select * from user u where u.name = abc -> sql语句会报错 所以 #{} 占位符号,先预编译 再填值,会自动在参数上加双引号 ${} 会直接将你传的参数 放在 = 后面 ,所以会不安全!会出现sql注入问题