mybatis
传说中的靖哥哥
小小程序员一枚
展开
-
MyBatis源码解析(一):从一个简单的MyBatis查询开始
一,简单的MyBatis用例 1,Maven依赖引入 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11<...原创 2019-03-29 22:26:23 · 237 阅读 · 0 评论 -
MyBatis源码解析(二):初始化SqlSessionFactory
一,SqlSessionFactory初始化流程图二,初始化步骤 1,获取配置文件 mybatis-config.xml,并初始化为 Document * SqlSessionFactory.build()public SqlSessionFactory build(InputStream inputStream, String environment, ...原创 2019-03-29 23:24:20 · 387 阅读 · 0 评论 -
MyBatis源码解析(三):初始化SqlSession
前言:在MyBatis源码解析(二):初始化SqlSessionFactory中,已经成功解析XML配置文件,并初始化SqlSessionFactory;这一篇将对 SqlSessionFactory.openSession() 进行解析一,SqlSessionFactory.openSession() 执行流程二,初始化步骤 1,触发 openSession(...原创 2019-03-30 00:15:50 · 343 阅读 · 0 评论 -
MyBatis源码解析(四):初始化Mapper
前沿:在MyBatis源码解析(三):初始化SqlSession博客中,已经对 openSession() 底层进行解析,并获取到 SqlSession 对象;接着,需要通过 SqlSession.getMapper(),获取 Mapper 的代理对象去执行 Statement,getMapper()分析会与之前已经分析过的addMapper() 相比较进行分析,以确保流程清晰,具...原创 2019-03-30 10:02:53 · 396 阅读 · 0 评论 -
MyBatis源码解析(五):执行Mapper,获取初始结果集
前言:MyBatis源码解析(四):初始化Mapper中,通过 MapperProxyFactory 已经成功获取到执行 Mapper 的代理对象,这一篇将使用该代理对象执行 Statement,获取到SQL执行的初始结果。另外,本篇步涉及ORM映射一,执行流程二,执行步骤 1,初始化 Mapper 代理对象回顾 * MapperProxyF...原创 2019-03-30 22:29:19 · 696 阅读 · 0 评论 -
MyBatis源码解析(六):对结果集进行ORM映射
前言:MyBatis源码解析(五):执行Mapper,获取初始结果集中,通过 Mapper 执行 Statement 已经从数据库中获取到数据的基本值,但是并没有和 Java pojo 进行映射,本篇讲继续解析 MyBatis 中的属性映射一,流程图二,步骤解析 1,获取结果集及结果映射入口 *PreparedStatementHandler...原创 2019-03-31 00:50:40 · 629 阅读 · 0 评论 -
MyBatis源码解析(七):手写实现简易MyBatis框架
一,执行流程图二,执行步骤分析 1,初始化配置信息,其中包括Mapper初始化 2,openSession(),初始化DefaultSqlSession和Executor执行器 3,getMapper(),获取执行Mapper的代理对象,准备执行Statement 4,执行Statement,通过动态代理执行方法,获取数据库结果集,并映射到JavaB...原创 2019-03-31 14:07:16 · 270 阅读 · 1 评论