MyBatis 中 #{} 和 ${} 的区别是什么?什么场景下必须使用 ${}?分页查询通常用什么关键字?
考察说明
考察 MyBatis 参数绑定机制、SQL 注入风险与分页实现方式
回答思路
- 准确说明 #{} 预编译占位符与 ${} 字符串拼接的本质区别
- 指出 ${} 存在 SQL 注入风险及必须使用的场景(如表名、列名、排序字段等动态标识符)
- 说明常见数据库分页关键字(MySQL LIMIT、Oracle ROWNUM、SQL Server TOP/OFFSET)及 MyBatis 中分页实现
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。