MyBatis 原理
MyBatis 原理
概要
MyBatis 是一个持久层框架,用于将对象与数据库中的记录进行映射。它通过 XML 或注解的方式定义 SQL 语句并将结果映射到 Java 对象。
一、 MyBatis 原理
1. 配置
MyBatis 通过 SqlSessionFactory 加载配置文件(mybatis-config.xml),初始化数据库连接和映射器。
2. 创建SqlSession
通过 SqlSessionFactory 创建 SqlSession,用于执行 SQL 语句和管理事务。
3. 映射器
映射器接口与 XML 配置或注解中的 SQL 语句相对应。调用映射器方法时,MyBatis 会查找对应的 SQL,并执行。
4. 映射结果
执行 SQL 后,结果被映射回 Java 对象。MyBatis 使用反射和映射规则将结果集转换为对象。
二、DAO 层与 Mapper 类的关系
1. DAO 层
DAO(Data Access Object)是应用程序中负责数据持久化的部分。它提供了操作数据的接口,通常包含 CRUD 方法。
2. Mapper 类
Mapper 类是 MyBatis 中定义 SQL 语句的地方,通常对应 DAO 接口。Mapper 接口中的方法与 SQL 映射关系明确。
3. DAO层和Mapper的关系
DAO 接口通常会调用 Mapper 接口的方法,负责业务逻辑的处理,而 Mapper 则负责具体的数据库操作。通过这种分层设计,增强了代码的可维护性和可读性。
总结:
MyBatis 将 SQL 操作与 Java 对象映射结合在一起,DAO 层负责定义数据访问的接口,而 Mapper 类则具体实现这些接口的数据库操作。这样设计有助于分离关注点,提高代码质量。