看了很多这个类型的文章,帮各位整理一下。 #{}是预编译处理,${}是字符串替换。 Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值; Mybatis在处理${}时,就是把${}替换成变量的值。 使用#{}可以有效的防止SQL注入,提高系统安全性。 下面是两个博主的文章 整合起来看 1:陈汐01 2:一个小马龙