作者:禅与计算机程序设计艺术
1.简介
MyBatis 是 Java 框架中的一个持久层框架。它支持定制化 SQL、存储过程以及高级映射。但是 MyBatis 提供的功能有限,只能满足一般项目的需求。为了更加灵活地使用 MyBatis,我们可以对其进行扩展,通过编写一些插件或者拓展接口实现一些特殊需求。本文将从以下几个方面展开:
- Mybatis 插件架构及原理
- Mapper 拓展接口(Interceptor)
- Executor 拓展接口(MappedStatement)
- ParameterHandler 参数处理器接口(ParameterObjectHandler)
- ResultHandler 结果集处理器接口(ResultObjectHandler)
- 自定义插件开发
2. MyBatis 插件架构
MyBatis 是一个优秀的开源持久层框架。它的许多特性使得 MyBatis 在开发中发挥了巨大的作用。由于 MyBatis 支持多种类型的数据源、SQL 语句的自定义、对象关系映射、缓存机制等众多特性,对于某些场景下,需要对 MyBatis 进行一些定制化开发,比如日志记录、监控统计、权限控制等等。为此 MyBatis 提供了插件机制。如下图所示:
上述图