温馨提示×

MyBatis集合的缓存策略有哪些

小樊
84
2024-08-08 09:40:52
栏目: 编程语言

MyBatis的集合缓存策略主要有以下几种:

  1. SESSION缓存:默认情况下,MyBatis会将查询结果缓存在SqlSession的缓存中,该缓存只在当前SqlSession中有效。当SqlSession关闭后,缓存数据会被清空。

  2. LOCAL缓存:在同一个SqlSession中,如果多次查询相同的数据,MyBatis会将第一次查询的结果缓存在SqlSession的缓存中,后续查询时直接从缓存中获取数据,提高查询效率。

  3. STATEMENT缓存:在同一个SqlSession中,如果多次执行相同的SQL语句,MyBatis会将第一次执行的结果缓存在Statement级别的缓存中,后续执行时直接从缓存中获取结果。Statement级别的缓存是跨SqlSession的,即不同SqlSession可以共享同一个Statement级别的缓存。

  4. SECOND级缓存:SECOND级缓存是MyBatis中最常用的缓存策略,它可以跨SqlSession和跨Statement级别共享缓存数据。开启SECOND级缓存需要在Mapper配置文件中配置标签,并且在对应的Mapper接口方法上添加@CacheNamespace注解。SECOND级缓存默认是开启的,可以通过设置关闭。

0