mybatis一级缓存和二级缓存是什么意思
MyBatis一级缓存和二级缓存是指MyBatis框架中的两种缓存机制。
-
一级缓存:也称为本地缓存,是SqlSession级别的缓存。在同一个SqlSession中,如果执行相同的SQL语句,MyBatis会从缓存中获取数据,不会再次发送SQL语句到数据库进行查询。一级缓存是默认开启的,可以使用SqlSession.clearCache()方法清空缓存。
-
二级缓存:也称为全局缓存,是Mapper级别的缓存。多个SqlSession可以共享同一个Mapper的二级缓存,可以减少数据库的访问次数。二级缓存需要手动开启,可以在Mapper.xml文件中配置。默认情况下,MyBatis不会开启二级缓存,需要在配置文件中配置
元素来开启。可以使用SqlSessionFactory.getConfiguration().getCacheNames()方法获取所有开启的二级缓存名称,使用SqlSessionFactory.getConfiguration().getCache(cacheName)方法获取指定名称的缓存实例。可以使用Cache.clear()方法清空缓存
原文地址: https://www.cveoy.top/t/topic/fzf9 著作权归作者所有。请勿转载和采集!