mybatis之延迟加载、一级缓存、二级缓存、整合ehcahe缓存框架

1.延迟加载
mybatis通过resultMap中的association、collection来实现延迟加载;其含义为当关联的子查询未用到时不会查询数据库
2.一级缓存
指session级缓存,当同一sql查询数据库时先查询当前session中是否有缓存数据,有的话就不再查询数据库;否则将查询结果存入session中。当该session就行commit操作时,其缓存的数据将会清空。
3.二级缓存
指mapper级缓存,当多个session的namespace相同时,它们共享同一个mapper空间。当session执行操作后close,session中缓存的数据将被放入二级缓存。如果想要验证就可以通过提前关闭的方式来测试。同理一旦有session执行commit操作时mapper空间将会清空,需要在sqlmapperconfig中配置相应的二级缓存开关
4.ehcahe缓存框架
因为mybatis缓存需要占用大量内存空间,影响系统效率;引入了缓存框架,将其整合到mybatis中的过程为:
a.添加缓存框架的jar包
b.mapper中开启cahe标签并继承ehcahe的类
c.整合ehcahe的配置文件

发布了40 篇原创文章 · 获赞 1 · 访问量 4517

猜你喜欢

转载自blog.csdn.net/hyt182380/article/details/84594147
今日推荐