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