MyBatis概述
目录
1概述
1.1 核心定义
1.2 工作方式
1.3 相关背景
1.4 MyBatis开发优点
1概述
1.1 核心定义
MyBatis 是基于 Java 的优秀持久层开源框架,最初由 Apache 提供,其核心是对 JDBC 访问数据库的流程进行简化与封装:
- 开发者使用 MyBatis 时,无需关注 JDBC 中的冗余操作(如注册驱动、获取连接、获取传输器、释放资源等),只需专注于 SQL 语句本身;
- MyBatis 采用ORM(对象关系映射)思想,通过 Java 对象与 SQL 语句的动态参数映射,实现数据在 Java 对象与数据库之间的转换。
1.2 工作方式
MyBatis 通过以下流程完成数据库交互,确保 SQL 执行与结果处理高效便捷:
- SQL 配置:将要执行的各种 Statement 对象(对应 SQL 语句)通过两种方式配置:
- 方式一:XML 文件配置(主流方式,便于集中管理 SQL);
- 方式二:注解配置(适用于简单 SQL 场景);
- 参数映射:执行 SQL 前,MyBatis 将 Java 对象中携带的参数值与配置的 “SQL 骨架” 进行映射,生成最终可执行的 SQL 语句;
- 结果返回:执行 SQL 后,MyBatis 自动将数据库返回的 ResultSet 对象处理并封装为 Java 对象,直接返回给开发者。
1.3 相关背景
MyBatis 的前身是iBatis,其名称来源于 “internet” 和 “abatis” 的组合,同样是基于 Java 的持久层框架:
- iBatis 包含两大核心模块:
- SQL Maps:即 MyBatis 对 JDBC 流程的封装能力,是 MyBatis 核心功能的基础;
- Data Access Objects(DAO):即数据访问层规范,为开发者提供统一的数据访问接口标准。
1.4 MyBatis开发优点
- 简化 JDBC 代码:对 JDBC 核心流程进行封装,大幅减少手动编写的冗余代码,降低开发复杂度;
- 灵活的连接池支持:自身内置连接池,同时支持配置第三方连接池(如 Druid、C3P0),避免频繁创建 / 销毁数据库连接,提升程序运行效率;
- SQL 与代码解耦:SQL 语句统一配置在 Mapper.xml 文件中,修改 SQL 时无需修改 Java 代码,也无需重新编译类,降低维护成本;
- 自动结果封装:无需手动解析 ResultSet 对象,MyBatis 可自动将查询结果映射为 JavaBean 或集合,简化数据处理流程。
