酷代码 AI
菜单
服务商

Java开发必知:MyBatis一级缓存与二级缓存深度剖析

MyBatis的缓存分为一级缓存和二级缓存。 一级缓存:MyBatis的一级缓存是在每个Connection级别的,也就是在每一个SqlSession中。当SqlSession关闭时,这个SqlSession的一级缓存也就被清除了。一级缓存主要用于存储Statement对象。 二级缓存:MyBatis的二级缓存是在全局级别的,也就是在MyBatis的配置文件中配置的。二级缓存是所有SqlSession共享的,当SqlSession关闭时,这个SqlSession的一级缓存也就被清除了。二级缓存主要用于存储Statement对象。 一级缓存和二级缓存的区别: 1. 一级缓存是在每个SqlSession级别的,而二级缓存是在全局级别的。 2. 一级缓存主要用于存储Statement对象,而二级缓存主要用于存储预编译的SQL语句。 3. 一级缓存是SqlSession级别的,当SqlSession关闭时,这个SqlSession的一级缓存也就被清除了。而二级缓存是全局级别的,只要应用还在运行,那么二级缓存就不会被清除。 4. 一级缓存只存储结果集,而二级缓存存储的是预编译的SQL语句和结果集。 5. 一级缓存可以手动清除,而二级缓存不能手动清除,只能通过关闭SqlSession或者调用SqlSession的clearCache()方法来清除。 ######[AI小红书种草文 | 295点数解答 | 2023-11-07 22:24:40]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]