晓晨的博客

架构师成长日记

Mybatis源码分析之(八)Mybatis事务管理机制

JdbcTransaction ManagedTransaction 事务指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。对于数据库操作来说是必不可少的。 在Mybatis框架中有二种事务实现,一种是JdbcTransaction,另一种是Ma...

2018-06-18 23:36:47

阅读数 103

评论数 0

Mybatis源码分析之(七)Mybatis一级缓存和二级缓存的实现

缓存真的是老生常谈的一个话题拉。因为它在我们的开发过程中真的是无处不在。今天LZ带大家来看一下。Mybatis是怎么实现一级缓存和二级缓存的。 一级缓存 存在BaseExecutor中,是全局的缓存,每次查询后将值存入BaseExecutor的localCache中。key是由ms,par...

2018-06-07 22:46:51

阅读数 742

评论数 0

Mybatis源码分析之(六)mybatis拦截器(Interceptor)的实现原理

前言 InterceptorChain保存所有的Interceptor 创建四大对象都走Configuration InterceptorChain增强对象方法 Plugin封装动态代理,让你使用Mybatis拦截器更简单 Invocation,让我们能在拦截器中使用动态代理类中的in...

2018-05-28 16:53:30

阅读数 1196

评论数 0

Mybatis源码分析之(五)mapper如何将数据库数据转换成java对象的

下面的代码是PreparedStatementHandler中的 @Override public <E> Cursor<E> queryCursor(Statem...

2018-05-23 18:39:52

阅读数 1499

评论数 0

Mybatis源码分析之(四)mapper访问数据库的底层原理(代理方法中具体访问数据库的细节)

从之前的文章,我们知道了其实mapper真正执行的方法就下面的最后两行 public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { try { if (Object...

2018-05-19 22:38:30

阅读数 430

评论数 0

Mybatis源码分析之(三)mapper接口底层原理(为什么不用写方法体就能访问到数据库)

上一篇的时候,我们的SqlSessionFactoryBuilder已经从xml文件中解析出了Configuration并且返回了sessionFactory。 然后我们要从sessionFactory.openSession();中拿到sqlSession public class D...

2018-05-13 22:03:40

阅读数 901

评论数 0

Mybatis源码分析之(二)根据配置文件创建SqlSessionFactory(Configuration的创建过程)

SqlSessionFactoryBuilder().build创建SqlSessionFactory(粗略走一步流程) build是如何通过xml文件来生成Configuration的(比较详细的分析流程) 小结 SqlSessionFactoryBuilder(...

2018-05-08 00:07:47

阅读数 1100

评论数 9

Mybatis源码分析之(一)搭建一个mybatis框架(写一个mybatis的Demo)

数据库工作: JAVA工作: demo项目地址: 首先,LZ为了照顾一些基础薄弱的同学,所以先带萌新搭一个mybatis的demo,这个在看源码的时候能起到了很大的作用,因为在看源码的时候,会恍然大悟,为什么要这么配置,为什么要这么写。(老鸟可以跳过这篇) 数据库工作...

2018-05-04 17:15:38

阅读数 485

评论数 3

Mybatis源码分析开篇

Mybatis的由来 mybatis究竟是什么 学习源码必备的技能 在分析源码之前,LZ想带大家了解下Mybatis Mybatis的由来 iBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software founda...

2018-05-03 22:52:59

阅读数 262

评论数 0

mybatis注解使用

这篇主要介绍在项目中,mybaits经常用到的注解,大部分在项目中都用过了。mybatis映射sql语句问题。可以通过配置xml来添加映射,也可以在接口上面直接用注解来映射,如 @Select( “SQL语句”) 其他还有@Update,@Delete,@Insert等。动态生成sql语句可以用@...

2017-11-30 19:00:56

阅读数 1571

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭