MyBatis 中 #{} 和 ${} 的区别是什么?
In MyBatis, what is the difference between #{} and ${}?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: Backend
标签: MyBatis, SQL Injection, Parameters
参考答案摘要
答案 #{} 是预编译处理, ${} 是字符串替换。 在使用 #{} 时,MyBatis 会将 SQL 中的 #{} 替换成 ? ,配合 PreparedStatement 的 set 方法赋值,这样可以有效的防止 SQL 注入,保证程序的运行安全。
答题技巧
技术面试题建议先理清思路再作答,从基础概念讲起,逐步深入。可以结合实际项目经验解释技术原理,展示你的理解深度和实践能力。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案、收藏题目并进行模拟面试练习。