MyBatis 中 #{} 和 ${} 的区别是什么?
What is the difference between #{} and ${} in MyBatis?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: Backend
标签: MyBatis, #{}, ${}, SQL 注入
参考答案摘要
答案 \#{} 是预编译处理,${} 是字符替换。 在使用 #{} 时, MyBatis 会将 SQL 中的 #{} 替换成“?”,配合 PreparedStatement 的 set 方法赋值,这样可以有效的防止 SQL 注入,保证程序的运行安全。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。