随笔分类 - myBatis源码分析
摘要:说起mybatis,大伙应该都用过,有些人甚至底层源码都看过了。在mybatis中,mapper接口是没有实现类的,取而代之的是一个xml文件。也就是说我们调用mapper接口,其实是使用了mapper.xml中定义sql完成数据操作。 大家有没想过,为什么mapper没有实现类,它是如何和xml关
阅读全文
摘要:写在前面 接口:MyBatis的事务Transaction的接口有一下实现类 JdbcTransaction 由jdbc管理的事务(即利用Connection对象完成对事务的提交(commit())、回滚(rollback())、关闭(close())等) ManagedTransaction 由容
阅读全文
摘要:写在前面 MyBatis 提供查询缓存,用于减轻数据库压力,提高数据库性能。 MyBatis缓存分为一级缓存和二级缓存。 通过对于Executor 的设计。也可以发现MyBatis的缓存机制(采用模板方法模式+装饰设计模式) Executor BaseExecutor SimpleExecuor B
阅读全文
摘要:写在前面 通过上一偏文章,我们知道:mybatis 的插件开发,主要是集中在Executor(执行器),ParameterHandler(参数处理器),ResultSetHandler(结果集处理器),StatementHandler( 语句处理器)。可以称作myBatis核心的四大金刚 我们知道了
阅读全文
摘要:写在前面 MyBatsi 的拦截器模式是基于代理的代理模式。并且myBatis 的插件开发也是以拦截器的形式集成到myBatis 当中。 MyBatis 的拦截器已经插件是在org.apache.ibatis.plugin包下面。 MyBatis拦截器可以拦截的类,Executor(执行器),Par
阅读全文
摘要:1. 我们通过接口操作数据库时,发现相关的操作都是在org.apache.ibatis.binding下 从sqSessin 获取getMapper() binging 包结构 可以发现binding 包输入mybatis 下面,是mybatis 的核心文件。这个包中包含有四个类: 在sqlSess
阅读全文
摘要:1、 sqlSessionHolder 是位于mybatis-spring 包下面,他的作用是对于sqlSession和事务的控制 sqlSessionHolder 继承了spring的ResourceHolderSupport 2 、在前面讲解到,sqlSessionTemplate 操作数据库实
阅读全文
摘要:1. 在创建好sqlSessionFactory之后,接着就要配置sqlSession的创建。 构造参数,包括sqlSessionFactory对象,以及ExecutorType(simple) 2. sqlSession接口 我们的应用程序,是直接注入sqlSessionTemplate ,操作数
阅读全文
摘要:1. 首先了解一下mybatis,包含核心jar ,以及spring相关jar. 系列的文章也是mybatis 3.3.0和mybatis-spring1.2.3分析 mybatis jar包中只要包含mybaits的核心业务sqlsession,sqlsessionFactory,configur
阅读全文