Mybatis源码学习
2021-04-12 18:56:59 8 举报
AI智能生成
Mybatis源码学习
作者其他创作
大纲/内容
1- 读取配置文件, 构建出SqlSessionFactory对象
2- 通过SqlSessionFactory对象获取其sqlSession会话
3- 通过SqlSessionFactory对象获取对应Mapper动态代理对象
通过深究为什么返回的是代理对象,
通过sqlSession.getMapper(UserMapper.class);
通过sqlSession.getMapper(UserMapper.class);
调用了configuration.getMapper(type, this)
this代表的是会话对象本身, 与需要获取代理类型
this代表的是会话对象本身, 与需要获取代理类型
又调用了mapperRegistry.getMapper(type, sqlSession);
从方法中创建代理对象返回
从方法中创建代理对象返回
mapperProxyFactory.newInstance(sqlSession)方法进行
创建代理对象
创建代理对象
MapperProxy这个类实现了InvocationHandler接口.所以能进行代理操作.重写了invoke方法.
4- 动态代理对象执行接口方法
Executor执行器接口
抽象基础处理器
BaseExecutor
BaseExecutor
简单执行器
SimpleExecutor
SimpleExecutor
可重用执行器
ReuseExecutor
ReuseExecutor
批处理执行器
BatchExecutor
BatchExecutor
执行接口方法过程
收藏
收藏
0 条评论
下一页