持久层(Persistence Layer):
持久层是软件体系架构中的一层,主要负责数据的存储和检索。在 MyBatis 中,持久层通过映射 SQL 语句到 Java 方法来实现数据的持久化。
Mapper 接口:
Mapper 接口是 MyBatis 中用于定义数据库操作方法的接口。这些接口方法通常与 SQL 映射文件中的 SQL 语句相关联。
SQL 映射文件(SQL Mapping File):
SQL 映射文件是 MyBatis 中用于定义 SQL 语句和映射规则的文件。这些文件通常使用 XML 格式编写,并包含 SQL 语句、参数映射和结果映射等信息。
参数映射(Parameter Mapping):
参数映射是指将 Java 方法中的参数映射到 SQL 语句中的占位符或参数列表的过程。MyBatis 支持多种参数映射方式,包括简单类型、复杂类型、集合类型等。
结果映射(Result Mapping):
结果映射是指将 SQL 查询结果集映射到 Java 对象的过程。MyBatis 支持多种结果映射方式,包括直接映射到简单类型、复杂类型、集合类型等,还可以通过自定义结果映射来处理复杂的结果集结构。
动态 SQL(Dynamic SQL):
动态 SQL 是指根据条件动态生成 SQL 语句的过程。MyBatis 提供了丰富的动态 SQL 元素,如 <if>、<choose>、<when>、<otherwise>、<trim>、<where> 和 <set> 等,用于构建灵活的 SQL 语句。
事务管理(Transaction Management):
事务管理是指确保一系列数据库操作要么全部成功,要么全部失败的过程。MyBatis 支持两种事务管理方式:编程式事务管理和声明式事务管理。编程式事务管理通过手动控制事务的提交和回滚来实现,而声明式事务管理则通过配置和注解来管理事务。
缓存机制(Caching Mechanism):
缓存机制是指通过存储已查询的数据来减少数据库访问次数的过程。MyBatis 提供了两级缓存机制:一级缓存(PerpetualCache)和二级缓存(自定义缓存实现)。一级缓存是 SqlSession 级别的缓存,默认开启;二级缓存是 Mapper 级别的缓存,需要手动配置。
别名(Alias):
别名是指为 Java 类型或字段指定一个简短的名称,以便在 MyBatis 配置和映射文件中使用。别名可以简化配置和映射文件的编写,提高代码的可读性。
插件(Plugin):
插件是 MyBatis 提供的一种扩展机制,允许开发者通过拦截器(Interceptor)来拦截和修改 MyBatis 的核心方法调用。插件可以用于实现自定义的功能,如日志记录、性能监控等。