Java面试题更新 2026-08-05

请从使用角度说明 MyBatis 相比 JDBC 有哪些优势?

后端开发技术原理方案权衡JavaMyBatis

考察说明

考查对 MyBatis 核心优势的理解及应用场景把握。

回答思路

  1. 【回答框架 1】MyBatis 是一个持久层框架,核心优势在于将 SQL 与 Java 代码解耦,通过 XML 或注解维护 SQL,降低 JDBC 手动编写和解析结果集的重复代码量。
  2. 【回答框架 2】相比 JDBC,MyBatis 支持参数映射和结果集自动映射,减少类型转换与手工处理,提升开发效率;同时提供动态 SQL 能力,方便构建灵活查询。
  3. 【回答框架 3】MyBatis 内置连接池和事务管理,并支持二级缓存,可减少资源开销和提升查询性能;与 Spring 集成良好,便于事务与依赖管理。
  4. 【回答框架 4】其 SQL 由开发者掌控,优化更直接,适合复杂查询和需要精细调优的系统;但需注意 SQL 注入防范和 SQL 复用维护成本。
  5. 【回答框架 5】总体而言,MyBatis 优势在于灵活可控、开发效率高、易于优化,适合中小型或对 SQL 有强控制需求的场景;但对比 ORM 缺乏自动建表和跨数据库移植性。
  6. 【关键点 1】SQL 与代码分离,维护灵活
  7. 【关键点 2】自动参数与结果集映射,减少样板代码
  8. 【关键点 3】支持动态 SQL 和二级缓存,提升开发与运行效率
  9. 【关键点 4】开发者掌控 SQL,利于复杂查询优化
  10. 【易错点 1】不能完全替代 JDBC,底层仍是 JDBC 封装,极端性能场景需直接使用 JDBC
  11. 【易错点 2】SQL 需手写,跨数据库移植性较 ORM 差
  12. 【易错点 3】需注意 SQL 注入风险,参数应使用 #{} 而非 ${}