![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mybatis
anhuixiaozi
这个作者很懒,什么都没留下…
展开
-
mybatis中的设计模式
1. builder模式 (sqlSessionBuildFacotry)2. 策略模式 (executor)3. 动态代理 (mapper)4. 装饰器 (日志模块)5. 组合模式 (sqlNode)6. 责任链模式(插件)原创 2021-10-25 17:08:14 · 133 阅读 · 0 评论 -
mybatis中的插件--责任链设计模式
InterceptorChainpublic class InterceptorChain {// 底层结构是一个List private final List<Interceptor> interceptors = new ArrayList<>(); public Object pluginAll(Object target) { for (Interceptor interceptor : interceptors) { t...原创 2021-10-22 16:38:53 · 272 阅读 · 0 评论 -
mybatis中的设计模式-策略模式
策略模式:解耦类定义,创建和使用一起看下 Executor1.类定义2. 类的使用3. 类创建原创 2021-10-22 15:58:32 · 171 阅读 · 0 评论 -
spring和mybatis集成逻辑
1. 需要添加mybatis-spring-x.x.x.jar,主要文件结构2. 通过SqlSessionTemplate,手写DAO<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <!-- 加载mybatis.cfg.原创 2021-10-22 10:19:12 · 101 阅读 · 0 评论 -
mybatis中的binding模块
mybatis中的CustomerMapper无需写实现类呢?1.调用逻辑2、重点看下MapperRegistry 维护了全局配置类Configuration 和 mapper对应代理工厂原创 2021-10-19 19:38:01 · 53 阅读 · 0 评论 -
mybatis与spring整合版本对应表
官网地址:https://mybatis.org/mybatis-3/官方参照表:http://mybatis.org/spring/中文官网:https://mybatis.org/mybatis-3/zh/mybatis项目源码地址:https://github.com/mybatis/mybatis-3/若编译通不过,import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.annotati..原创 2021-10-19 15:27:59 · 2191 阅读 · 0 评论 -
mybatis中的cache
1、BlockingCache 是在原有 Cache 实现之上添加了阻塞线程的特性,采用ConcurrentHashMap<Object, CountDownLatch> 和CountDownLatch来实现加锁解锁 public Object getObject(Object key) { acquireLock(key); Object value = delegate.getObject(key); if (value != null) { ...原创 2021-10-12 11:31:24 · 342 阅读 · 0 评论 -
mybatis中的DataSource
工厂方法模式最终也是符合“开放-封闭”原则的,可以通过添加新的 Factory 接口实现和 Product 接口实现来扩展整个体系的功能。MyBatis 的数据源模块也是用到了工厂方法模式,如果需要扩展新的数据源实现时,只需要添加对应的 Factory 实现类,新的数据源就可以被 MyBatis 使用。DataSourceFactory接口及其实现DataSource及实现全局配置文件的mybatis-config.xml解析全局配置文件的mybatis-config...原创 2021-10-11 16:37:10 · 1519 阅读 · 0 评论 -
mabatis中的JDBC Logger
采用JDK动态实现,可以参考JDK动态代理_anhuixiaozi的专栏-CSDN博客定义InvocationHandler原创 2021-10-09 17:56:52 · 146 阅读 · 0 评论 -
mybatis中的日志框架
1.mybatis中的日志接口log,采用是适配器模式、对应的适配器有为了兼容java.util.logging.Logger对应的日志框架,以Jdk14LoggingImpl为例调用构造器获取,logger原创 2021-10-09 16:29:22 · 113 阅读 · 0 评论