后端岗位面试题更新 2026-08-05

MyBatis 中 #{} 与 ${} 的区别是什么?使用 ${} 会有什么问题?

招商银行·招银网络科技后端开发金融风险判断安全意识技术原理MyBatis

考察说明

考察 MyBatis 参数绑定机制、SQL 注入风险与正确用法

回答思路

  1. 说明 #{} 是预编译参数占位符,能防止 SQL 注入
  2. 说明 ${} 是字符串直接拼接,存在注入风险
  3. 能指出 ${} 适用于表名、列名等动态 SQL 的场景及必要性
  4. 能结合示例说明何时避免使用 ${} 或如何安全使用
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。