![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MyBatis
lufy0908
这个作者很懒,什么都没留下…
展开
-
Mybatis数据源技术解析
数据源的创建数据源是一个比较复杂的对象,其创建过程复杂,对于Mybatis创建一个数据源,具体来讲有如下难点:1.常见的数据源件组都实现了javax.sql.DataSource接口2.Mybatis不但要能集成第三方组件,自身也得提供数据源的实现。3.一般情况数据源初始化的参数较多,比较复杂。...原创 2020-04-28 19:56:53 · 177 阅读 · 0 评论 -
Mybatis日志模块之日志打印的实现原理
在日志模块中有BaseJdbcLogger、ConnectionLogger、PreparedStatementLogger、ResultSetLogger、StatementLogger通过动态代理的方式打印在不同的位置打印日志。几个相关的类图如下:BaseJdbcLogger是所有日志的增强类,用于记录jdbc那些方法需要增强,保存运行期间的sql参数信息。ConnectionLogg...原创 2020-04-25 23:47:47 · 1003 阅读 · 0 评论 -
Mybatis日志模块之日志组件优先加载原理
在java.lang.reflect.Constructor.LogFactory类的静态代码块中,通过静态代码块确保第三方日志插件加载优先级如下:slf4J → commonsLoging → Log4J2 → Log4J → JdkLog;public final class LogFactory { /** * Marker to be used by logging impl...原创 2020-04-25 20:03:06 · 187 阅读 · 0 评论 -
Mybatis日志模块之适配器模式
mybatis没有提供日志的实现类,需要使用第三方日志组件,市面上优秀的日志插件很多,而且日志级别各不相同,为了接入不同的日志组件,mybatis使用了适配器模式。mybatis一共有四个日志级别,分别是trace、warn、dubug、erro。下面对日志模块的封装原理及原理进行分析,日志模块类图如下:...原创 2020-04-25 19:20:48 · 177 阅读 · 0 评论