|
本帖最后由 java 于 2019-1-14 17:32 编辑
看源码学习的东西很多
SqlSessionFactory 全局跟容器一起 application级别
SqlSession request/method级别
Mapper method级别 Spring不一样
MapperProxyFactory
MapperProxy
Mapper
动态代理 接口变实例
Proxy.newProxyInstance(mapperInterface.getClassLoader(), new Class[] {mapperInterface }, ...)
com.gupaoedu.mybatis.mapper.TestMapper
com.gupaoedu.mybatis.mapper.TestMapper@12344
org.apache.ibatis.binding.MapperProxy@653444
MapperProxy
Mybatis源码不实现对象实现类,会调用自己实现的
MapperMethod.java
selectOne -> selectList -> Executor.query
抽象类中定义模板流程 增加可扩展性
装饰器模式是 委托模式的一种
被包装类与这个类是不是同源的即同一个父类,就是装饰器模式
|
|