以下Mybatis解析基于org.mybatis:mybatis:3.4.5
一、整体设计
图片来源
二、核心类解读
1. SqlSession和SqlSessionFactory
SqlSession是Mybatis框架对外暴露的顶层API接口,通过这个接口可以实现增删改查、事务管理等数据库操作,框架中提供了DefaultSqlSession和SqlSessionManager两个实现类。
在SqlSession的所有增删改查的操作方法中,其第一个参数均为String statement,对应接口层的statementId(或者mapper接口中方法的方法名),具有DefaultSqlSessionFactory和SqlSessionManager两个实现类。
SqlSessionFactory是SqlSession的工厂类,根据连接或者数据源生成SqlSession。