MyBatis架构和源码
Mybatis架构解读 1. 架构图 如题,这就是 MyBatis 的执行架构图。 解释一下: 我们在使用 MyBatis 的 CRUD 操作的时候,一般有两种方式,一、直接调用 sqlSession 的 crud 方法;二、通过调用 getMapper 获取到接口代理的实现类,然后在代理方法中调用了 crud 方法。 可以看到,本质相同,最终调用的都是 sqlSession 的方法,上图就是 CRUD 执行的流程 2. 执行流程图 我们先来看一下我们执行一个 MyBatis 的查询,需要做什么。 //加载一个配置文件 InputStream resourceAsStream = Resources.getResourceAsStream( "main.xml" ); SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); SqlSessionFactory build = sqlSessionFactoryBuilder.build(resourceAsStream); SqlSession sqlSession = build.openSession(); UserMapper mapper = sqlSession.getMapper(UserMapper