Java面试题

题目

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

答案

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

Mybatis 在处理 #{} 时,会将 sql 中的 #{} 替换为 ? 号,调用 PreparedStatement 的

set 方法来赋值;在处理 ${} 时,就是把 ${} 替换成变量的值。

使用 #{} 可以有效的防止 SQL 注入,提高系统安全性。# Java面试题

题目

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

答案

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

Mybatis 在处理 #{} 时,会将 sql 中的 #{} 替换为 ? 号,调用 PreparedStatement 的

set 方法来赋值;在处理 ${} 时,就是把 ${} 替换成变量的值。

使用 #{} 可以有效的防止 SQL 注入,提高系统安全性。