随笔分类 -  Mybatis源码

摘要:UnpooledDataSource每次实时获取connection 核心流程 UnpooledDataSource#getConnection(java.lang.String, java.lang.String) -> UnpooledDataSource#doGetConnection(jav 阅读全文
posted @ 2024-05-15 14:44 使用D 阅读(25) 评论(0) 推荐(0) 编辑
摘要:SynchronizedCache核心代码 所有方法增加synchronized。 ScheduledCache核心代码 二级key缓存Map<Object, Object> entriesToAddOnCommit;Set<Object> entriesMissedInCache; getObje 阅读全文
posted @ 2024-05-15 14:44 使用D 阅读(6) 评论(0) 推荐(0) 编辑
摘要:核心对象 当Map存储key数量超出初始化设置的size时,标记最老的key,下次put时会自行删除eldest key。 Map<Object, Object> keyMap = new LinkedHashMap(); 为什么使用LinkedHashMap?支持头、尾,快速获取头结点,从Map中 阅读全文
posted @ 2024-05-15 14:44 使用D 阅读(7) 评论(0) 推荐(0) 编辑
摘要:核心代码 Deque<Object> keyList = new LinkedList<>(); 为什么使用LinkedList?单向链表。使用LinkedList实现FIFO,支持头、尾节点的单向链表。 添加时,判断数量大于初始化值时,删除头结点。 源码: public class FifoCac 阅读全文
posted @ 2024-05-15 14:44 使用D 阅读(9) 评论(0) 推荐(0) 编辑
摘要:针对mybatis3下的org.apache.ibatis.uitl下的MapUtils说明: 代码如下: public class MapUtil { /** * A temporary workaround for Java 8 specific performance issue JDK-81 阅读全文
posted @ 2023-11-28 22:08 使用D 阅读(43) 评论(0) 推荐(0) 编辑
摘要:1 /**管理一个集合JDBC驱动的基础服务 2 注意:在新的JDBC2.0api中实现了新的DataSource接口,提供了另一种链接数据源的方式。 3 使用DataSource的对象是首选方案 4 */ 5 public class DriverManager { 6 7 // 注册了JDBC驱动的集合 8 private final sta... 阅读全文
posted @ 2018-09-01 14:53 使用D 阅读(2803) 评论(0) 推荐(0) 编辑
摘要:涉及到的类包括: MapperBuilderAssistant:Mapper文件解析辅助类,包括了解析各种节点的方法。 BaseBuilder:XMLMapperBuilder与MapperBuilderAssistant的父类,保存了Configuration、TypeAliasRegistry、 阅读全文
posted @ 2018-09-01 14:52 使用D 阅读(531) 评论(0) 推荐(0) 编辑
摘要:PooledDataSource主要涉及到两个类PooledConnection以及PoolState PooledConnection:PooledDataSource中创建的数据库连接,可以获得实际的realConnection和proxyConnection链接对象,重点说明PooledCon 阅读全文
posted @ 2018-09-01 14:50 使用D 阅读(1942) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示