04 2017 档案
摘要:写在前面 TransactionStatus表示一个具体的事务状态(这里应用到了Java的一个多继承,接口允许多继承) TransactionStatus它继承了SavepointManager接口,SavepointManager是对事务中上述保存点功能的封装(Spring利用保存点功能实现了事务
阅读全文
摘要:写在前面 由于实现事务功能的方式各不相同,Spring进行了统一的抽象,形成了PlatformTransactionManager事务管理器顶级接口(平台事务管理器),事务的提交、回滚等操作全部交给它来实现 先来看下三大接口 PlatformTransactionManager : 事务管理器 Tr
阅读全文
摘要:写在前面 事务属性通过TransactionDefinition接口实现定义,主要有事务隔离级别、事务传播行为、事务超时时间、事务是否只读。 TransactionAttribute TransactionAttribute是TransactionDefinition的实现接口 获取Transact
阅读全文
摘要:写在前面: 先了解一下spring的事务。分为分明式事务管理和注解式事务管理,对于前期的事务,spring会通过扫描拦截对于事务的方法进行增强(以后讲解)。 若果目标方法存在事务,spring产出的bean会是一个代理对象(cglib或者jdk)。 本问讨论的是spring拦截到事务,对于事务的增强
阅读全文
摘要:写在前面 接口: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
阅读全文