MyBatis缓存的级别主要有以下几种:
SESSION:SESSION级别的缓存是默认级别,它表示在会话期间缓存数据。当会话关闭时,缓存也会被清空。
STATEMENT:STATEMENT级别的缓存表示只缓存当前执行的SQL语句的结果集。不同的SQL语句会有不同的缓存,当执行SQL语句时,先从缓存中查找结果,如果找到则直接返回,否则执行SQL语句并将结果放入缓存。
EAGER:EAGER级别的缓存表示将结果集立即缓存。无论是查询还是更新操作,都会将结果集放入缓存中。
LOCAL:LOCAL级别的缓存表示将缓存作用于当前SQL会话。在同一个SQL会话中,不同的SQL语句使用相同的缓存,以提高查询性能。
DISTRIBUTED:DISTRIBUTED级别的缓存表示在多个节点之间共享缓存。不同的节点可以共享同一个缓存,以提高查询性能。
需要注意的是,缓存级别的选择需要根据具体的业务需求和性能要求来确定。不同的缓存级别有不同的优缺点,需要根据实际情况进行选择。