另外一种情况,不写Mybits的dao实现类的情况。
切换工程到CRUD的工程。这里面是不写dao实现类的方式
进入到GetMaper里面。这里是创建代理对象
去找SqlSession的实现类DefaultSqlSession
DefaultSqlSession的getMapper方法
进入Configuration的getMapper方法
MapperRegistry的getMapper方法。里面走的是mapperProxyFactory.newInstance的方法
下面的调用上面的方法。
第一个参数类加载器、第二个参数实现的接口,第三个参数如何代理。我们的关注点是第三个参数mapperProxy如何代理
进入到mapperProxy
也就是上面的MapperProxy
实现了InvocationHandler接口。里面重写了invoke方法
继续找mapperMethod.execute
rowCountResult
executeForMany方法
executeForMany里面最终调用的是sqlSession的selectList方法