MyBatis 的缓存机制
a) 缓存用于提高查询的效率.
b) MyBatis 的缓存是使用SQL标签的ID作为缓存的唯一标识的. 执行相同的标签可以使用缓存. 不同的标签不能使用缓存.
c) MyBatis 中有两种缓存机制.
1 一级缓存
a) 默认开启. 线程级别的缓存, SqlSession 的缓存
b) 在一个 SqlSession 生命周期中有效. SqlSession 关闭, 缓存清空.
2 二级缓存
a) 进程级别的缓存, SqlSessionFactory 的缓存
b) 在一个 SqlSessionFactory 生命周期中有效. 可以在多个SqlSession 生命中期中共享.
c) 默认关闭, 需要使用的时候, 要为某个命名空间开启二级缓存(在 mapper.xml 中配置cache标签).
相关xml文件
相关java代码
运行结果