1. #{}是预编译处理,${}是字符串替换。
  2. Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;
  3. Mybatis在处理$ {}时,就是把${}替换成变量的值。
  4. 使用#{}可以有效的防止SQL注入,提高系统安全性。

更多推荐

mybatis面试题必问:#{}和${}的区别是什么?