
MyBatis源码
学习Mybatis源码,熟悉框架原理,设计模式
往前的
这个作者很懒,什么都没留下…
展开
-
Mybatis源码-ClassLoaderWrapper(类加载器包装类)
该类属于mybatis的io包的,主要用来加载类,加载器是有多种,一个类应该用哪个类加载器呢,这个类就是做这个层封装,将多个类加载器进行排序。1、源码/** * A class to wrap access to multiple class loaders making them work as one * 将多个类型加载器放入当前类加载器中使用 * 1.自定义类加载器 > ...原创 2019-08-05 21:13:46 · 734 阅读 · 0 评论 -
Mybatis源码-VFS(虚拟文件系统)
VFS 是虚拟文件系统通用API,不需关心不同服务的存储媒介什么,高层的抽象,这个在mybatis是一个抽象类,它有两个实现类一个是默认,一个是JBoss的1、继承图示1.1. 子类需要实现只有两个方法:isValid()是否有效list(URL url, String forPath) 列出某个path对应URL的所有子资源,递归获取2、VFS源码(注释)/** * Pr...原创 2019-08-05 21:08:19 · 2809 阅读 · 0 评论 -
Mybatis源码-JavassistProxyFactory
学习一下JavassistProxyFactory类,其实它跟CglibProxyFactory几乎是一样的用法1、JavassistProxyFactory1.1、源码注释import java.lang.reflect.Method;import java.util.List;import java.util.Map;import java.util.Properties;i...原创 2019-08-02 21:19:28 · 1818 阅读 · 0 评论 -
Mybatis源码-CglibProxyFactory(cglib工厂类)
Cglib 代理工厂类,为了实现延迟加载属性1、源码(Cglib代理工厂类)import java.lang.reflect.Method;import java.util.List;import java.util.Map;import java.util.Properties;import java.util.Set;import net.sf.cglib.proxy.Ca...原创 2019-08-01 21:36:39 · 610 阅读 · 0 评论 -
Mybatis源码-keygen包(Key)
今天主要学习是executor包下一个子包keygen,这个包功能就是自动生成一个key,例如@SelectKey注解设置字段,然后返回,生成key有两种,一种是通过jdbc生成,一种通过执行sql语句获取某个字段值实现生成key1、Jdbc3KeyGenerator/** * 这个类的功能就是在执行完sql获取 stmt.getGeneratedKeys()生成keys的值,然后通过下...原创 2019-07-31 19:18:04 · 3601 阅读 · 0 评论 -
Mybatis源码-datasource(数据源)总结
这个包主要功能的如何获取到数据源对象, 间接获取Connection(连接对象)来操作数据库1、获取DataSource方式有两种1.1. 通过jndi的(InitialContext上下文)获取,jndi的lookup方法,从某个地方获取配置生成一个DataSource1.2. 通过java代码,传入datasource需要参数,比如用户名、密码、驱动类路径等等2、这个包一个关系的简...原创 2019-07-30 19:32:35 · 1779 阅读 · 0 评论 -
Mybatis源码-datasource(数据源)
今天看了部分datasource包的内容,主要看了JndiDataSourceFactory类和PooledConnection类,学习部分总结1、JndiDataSourceFactory实现DataSourceFactory接口,主要有两个方法setProperties(设置属性), getDataSource()获取数据源1.2、源码package org.apache.ibat...原创 2019-07-29 21:01:43 · 1359 阅读 · 0 评论 -
Mybatis源码-cursor(游标)
今天学习一下cursor包的下源码,了解mybatis大致游标实现目录1、Cursor(游标接口类)1.1源码1.2总结2、DefaultCursor(默认游标实现类)2.1、源码2.2、总结1、Cursor(游标接口类)1.1源码/** * Copyright 2009-2019 the original author or authors. * * License...原创 2019-07-27 21:04:42 · 6845 阅读 · 2 评论 -
Mybatis源码-Cache包的内容
今天看完mybatis所有缓存装饰类,总结整理一下文章目录1、BlockingCache2、FifoCache(先进先出缓存装饰类)3、LoggingCache(日志缓存装饰类)4、LruCache(最近最少使用缓存装饰类)5、ScheduledCache(定间隔清理缓存装饰类)6、SerializedCache(序列化缓存装饰类)7、SoftCache(软引用缓存装饰类)8、WeakCac...原创 2019-07-26 20:34:08 · 237 阅读 · 0 评论 -
Mybatis源码-BlockingCache(阻塞式缓存装饰类)
今天学习一下Mybatis的cache包的源码,理解BlockingCache缓存实现1、贴源码+注释/** * Copyright 2009-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you ...原创 2019-07-25 20:44:00 · 610 阅读 · 1 评论 -
Mybatis源码-ParameterExpression(参数解析)
mybatis参数解析工作类,它继承了HashMap1、源码注释/** * Inline parameter expression parser. Supported grammar (simplified): * * <pre> * inline-parameter = (propertyName | expression) oldJdbcType attribute...原创 2019-07-24 15:11:47 · 1720 阅读 · 1 评论