mybatis源码小记
-
SqlSessionFactory sqlSession工厂类,与mybatis直接交互都是通过sqlSession
-
SqlSession 提供了增删改查 commit rollback等接口
-
Executor 核心处理层 sqlSession就是调用了Executor的接口
-
MappedStatement mapper文件里的每个select | delete | update | insert 都被映射成一个MappedStatement对象,sqlSession拿到MappedStatement传给 Executor执行
-
StatementHandler 封装了JDBC的Statement操作, Executor生成一个StatementHandler进行JDBC操作
-
ParameterHandler 负责将用户传递的参数转成jdbc statement所需的参数
-
ResultSetHandler 负责将jbdc返回的ResultSet转成List,所有select语句都处理成了list, selectOne支持selectList.get(0)。list是ArrayList类型的
Written on March 15, 2020