#{}和${}传参的一些区别
1、#{}传入参数时,SQL语句解析加' '单引号
如 name=#{name} name=' 小李'
会当成字符串解析 ,#{}能防止注入,如果你传入的参数为单引号会报错的。
做模糊查询时,用#{} 则无法对name 做出识别匹配
2、如果做动态的排序比如order by column ,要用${} ,如果用#{},则会打印出select * from table order by 'name' 有双引号,这样无法排序。
#{}和${}传参的一些区别
1、#{}传入参数时,SQL语句解析加' '单引号
如 name=#{name} name=' 小李'
会当成字符串解析 ,#{}能防止注入,如果你传入的参数为单引号会报错的。
做模糊查询时,用#{} 则无法对name 做出识别匹配
2、如果做动态的排序比如order by column ,要用${} ,如果用#{},则会打印出select * from table order by 'name' 有双引号,这样无法排序。