1、MyBatis四大核心对象
ParameterHandler:处理SQL的参数对象。
ResultSetHandler:处理SQL的返回结果集。
StatementHandler:数据库的处理对象,用于执行SQL语句。
Executor:MyBatis执行器,用于执行增删改查操作。
2、MyBatis插件原理
借助于责任链的模式进行对拦截的处理,使用动态代理对目标对象进行包装,达到拦截的目的,作用于MyBatis的作用域之上,即SqlSession。
插件默认拦截四大核心对象。
插件接口:Interceptor。改接口主要有三个方法。
Interceptor方法,插件的核心方法。plugin方法,生成目标对象的代理对象。setProperties方法,配置所需参数。
配置多个拦截器,MyBatis会扫描所有的拦截器。创建代理对象时,按照插件配置顺序包装。执行方法后,按照代理的逆向进行执行。
3、分页插件:PageHelper拦截器
分页:内存分页和物理分页。
PageHelper拦截excutor,分页的信息在Page和PageInfo类中。