mybaits源码分析--缓存模块(六)

一、缓存模块MyBatis作为一个强大的持久层框架,缓存是其必不可少的功能之一,Mybatis中的缓存分为一级缓存和二级缓存。但本质上是一样的,都是使用Cache接口实现的。缓存位于 org.apache.ibatis.cache包下。通过结构能够发现Cache其实使用到了装饰器模式来实现缓存的处理。先来看看Cache中的基础类的API;Cache接口的实现类很多,但是大部分都是装饰器,只有PerpetualCac...

mybaits源码分析(一)

一、源码下载1、手动编译源码 为了方便在看源码的过程中能够方便的添加注释,可以从官网下载源码编译生成对应的Jar包,然后上传到本地maven仓库,再引用这个Jar。         首先需要编译打包parent项目,我是用idea进行打包编译的  然后用同样方法将mybaits项目也打个包。,mybaits我在打包时报错了,后面用下面命令打包成功了 mvn install -DskipTests=true -Dma...

mybaits源码分析--自定义插件(七)

一、MyBatis插件插件是一种常见的扩展方式,大多数开源框架也都支持用户通过添加自定义插件的方式来扩展或者改变原有的功能,MyBatis中也提供的有插件,虽然叫插件,但是实际上是通过拦截器(Interceptor)实现的,在MyBatis的插件模块中涉及到责任链模式和JDK动态代理。1. 自定义插件首先我们来看下一个自定义的插件我们要如何来实现。https://mybatis.org/mybatis-3/zh/...

mybaits源码分析--事务管理(八)

一、事务管理写到这也快进入收尾阶段了了,在介绍MyBatis中的事务管理时不可避免的要接触到DataSource的内容,所以接下来会分别来介绍DataSource和Transaction两块内容。1. DataSource在数据持久层中,数据源是一个非常重要的组件,其性能直接关系到整个数据持久层的性能,在实际开发中我们常用的数据源有 Apache Common DBCP,C3P0,Druid 等,MyBatis不...
© 2021 LMLPHP 关于我们 联系我们 友情链接 耗时0.004788(s)
2021-09-24 08:07:26 1632442046