Mybatis中SqlSession下的四大对象之执行器(executor)
首先我先解释一下标题 四大对象是指它们都是sqlSession的底层类实现,也是插件能够拦截的四大对象。所以这里已经触及了MyBATIS的底层,动态代理,反射随时可以看到,如果没有第一篇作为基础,你将十分难以理解它。这个并不难理解,但是sqlSession内部是怎么运行的呢?我们可以看到它是通过executor去执行方法来完成查询的。mybatis的三个executor都有一个共同的父类――BaseExecutor。首先我们先了解一下mybatis是怎么样生成executor的。然后调用plugin方法,这个方法是为了生成代理对象(占位)的。一旦我们的插件和它绑定,那么我们可以想到就会进入invoke方法里面。于是我们的焦点就集中在了StatementHandler对象上,下章我们将谈及它。
用户评论