






























mybatis-config.xml, 获取数据库相关参数SqlSessionFactory, 全局一个, 用于生产SqlSessionSqlSession, 包含执行 sql 语句的所有方法, 每次操作一次会话, 有多个Executor 执行器, 执行数据库操作的接口, 也负责查询缓存的维护Executor 中有一个 MappedStatement 对象, 封装类型映射信息. 执行前将 java 的数据类型转换成数据库类型, 执行后将数据库类型转换成 java 类型延迟加载: 查询时一个类的有些属性先不查询, 有需要的时候再查询加载
默认不使用延迟加载, 在 mapper 文件中设置fetchType="lazy"/在配置文件中配置lazyLoadingEnabled=true开启. 开启后当访问orderList属性时再执行这个属性的查询.

延迟加载原理:

本地缓存, 基于 PerpetualCache, 本质上是一个 HashMap
cacheEnabled=true 并在 mapper 文件中添加<cache/>标签打开二级缓存注意:
Serializable接口此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。