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

MyBatis 中 # 和 $ 占位符有什么区别?

浩鲸科技卓望公司中国移动研究院后端开发互联网/IT通信/运营商专业服务安全意识技术原理MyBatis

考察说明

考察 MyBatis 参数处理和 SQL 注入风险意识

回答思路

  1. 说明 # 是预编译占位符,使用 PreparedStatement 参数化
  2. 说明 $ 是直接字符串拼接,存在 SQL 注入风险
  3. 说明使用场景:$ 用于表名、列名等动态标识符,# 用于值
  4. 给出安全建议:优先使用 #
本题已收录答题指导

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

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