Предыдущая статья представляет вам кэш Mybatis Level 1. Друзья в нуждающихся могут ссылаться на это.
По сравнению с кэшем первого уровня, кэш второго уровня имеет больший диапазон и может быть разделен на несколько SQLSessions.
Если вы отправите тот же запрос, SQL сначала найдет поиск в кэше, а затем запрашивает базу данных, если его нельзя найти.
Каждый Mapper пространства имен будет иметь свое собственное пространство кэша.
Если пространства имен двух отображений одинаковы, данные, запрошенные при выполнении Mapper, будут храниться в одном и том же кэше уровня 2.
Точно так же, если SQLSession выполнена и выполняется Commit, вторичный кэш будет очищен.
Файл конфигурации (он также включен по умолчанию без конфигурации):
В sqlmapconfig.xml:
<Настройка name = "cacheenabled" value = "true"/>
В соответствующем mapper.xml:
<cache/>
Если вам не нужен вторичный кэш, вы можете отключить вторичный кэш в настройках
<Выберите usecache = "false"> </select>
Это читается из базы данных каждый раз
После выполнения вставки, обновления, удаления, кэш будет обновлен (очистить кэш), и его можно настроить, чтобы не обновлять
Как правило, не устанавливается, настройка может вызвать грязное чтение.
<INSERT flushCache = "false"> </insert>
Маленькие примеры:
SQLSession Session1 = Factory.Opensession (); SQLSession Session2 = Factory.Opensession (); SQLSession Session3 = Factory.Opensession (); Usermapper mapper1 = session1.getmapper (usermapper.class); Usermapper mapper2 = session2.getmapper (usermapper.class); Usermapper mapper3 = session3.getmapper (usermapper.class); // Первый запрос - запросить пользователя с помощью ID 1 пользователя user1 = mapper1.finduserbyid (1); System.out.println (user1); // ЗАКРЫТЬ ДАННЫЕ ЗАПИСИ К Вторичному кэш -сеансу1.close (); // очистить вторичный кэш, user1.setusername ("mmm"); mapper3.updateuser (user1); session3.commit (); // Второй запрос будет искать user user2 = mapper2.finduserbyid (1); System.out.println (user2); session2.close ();Обратите внимание, что объекты, которые должны быть кэшированы на уровне 2, должны реализовать серилизуемый интерфейс, потому что эти кэшированные данные могут быть опустошены и записаны на жесткий диск или в других местах.
Выше приведено кэш Mybatis уровня 2, введенный вам редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!