MyBatis 中 #{} 和 ${}的区别是什么?

返回Java面试题汇总目录(全)

#{} 是预编译处理,${} 是字符串替换

  1. Mybatis 在处理 #{} 时,会将 SQL 中的 #{} 替换为 ? 号,调用 PreparedStatement 的 set 方法来赋值;使用 #{} 可以有效的防止 SQL 注入,提高系统安全性;

  2. MyBatis 在处理 {} 时,就是把{} 替换成变量的值。

发表评论

后才能评论