#{}和${}的区别是什么? 知识盲区 现在都是直接套用Mybatis框架,底层采用的都是预编译,#{}不会存在SQL注入问题 #{}是预编译处理 Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值 ${}是字符串替换 Mybatis在处理 时 , 就 是 把 {}时,就是把 时,就是把{}替换成变量的值 使用#{}可以有效的防止SQL注入,提高系统安全性