首页 > 其他分享 >020.Mybatis的二级缓存---(1)

020.Mybatis的二级缓存---(1)

时间:2022-11-12 18:12:18浏览次数:43  
标签:Exception goods --- 二级缓存 session 020 Mybatis selectOne MyBatisUtils

1.Mybatis的二级缓存

 

 

2.怎样开启Mybatis的二级缓存

 

 

3.怎样开启Mybatis的二级缓存

3.1 在MybatisTest.java中测试一级缓存

    /**
     * 测试一级缓存
     * @throws Exception
     */
    @Test
    public void testLv1Cache() throws Exception {
        SqlSession session = null;
        try{
            session = MyBatisUtils.openSession();
            Goods goods = session.selectOne("goods.selectById" , 1603);
            Goods goods1 = session.selectOne("goods.selectById" , 1603);
            System.out.println(goods.hashCode() + ":" + goods1.hashCode());
        }catch (Exception e){
            throw e;
        }finally {
            MyBatisUtils.closeSession(session);
        }

        try{
            session = MyBatisUtils.openSession();
            Goods goods = session.selectOne("goods.selectById" , 1603);
            session.commit();//commit提交时对该namespace缓存强制清空
            Goods goods1 = session.selectOne("goods.selectById" , 1603);
            System.out.println(goods.hashCode() + ":" + goods1.hashCode());
        }catch (Exception e){
            throw e;
        }finally {
            MyBatisUtils.closeSession(session);
        }
    }

3.2 goods.xml中

 <!--开启了二级缓存
      eviction是缓存的清除策略,当缓存对象数量达到上限后,自动触发对应算法对缓存对象清除
          1.LRU – 最近最久未使用:移除最长时间不被使用的对象。
          O1 O2 O3 O4 .. O512
          14 99 83 1     893
          2.FIFO – 先进先出:按对象进入缓存的顺序来移除它们。
          3.SOFT – 软引用:移除基于垃圾收集器状态和软引用规则的对象。
          4.WEAK – 弱引用:更积极的移除基于垃圾收集器状态和弱引用规则的对象。
  -->
    <cache eviction="LRU" flushInterval="600000" size="512" readOnly="true"/>
    

3.3 MybatisTest.java中测试二级缓存

  /**
     * 测试二级缓存
     * @throws Exception
     */
    @Test
    public void testLv2Cache() throws Exception {
        SqlSession session = null;
        try{
            session = MyBatisUtils.openSession();
            Goods goods = session.selectOne("goods.selectById" , 1603);
            System.out.println(goods.hashCode());
        }catch (Exception e){
            throw e;
        }finally {
            MyBatisUtils.closeSession(session);
        }

        try{
            session = MyBatisUtils.openSession();
            Goods goods = session.selectOne("goods.selectById" , 1603);
            System.out.println(goods.hashCode());
        }catch (Exception e){
            throw e;
        }finally {
            MyBatisUtils.closeSession(session);
        }
    }

 

标签:Exception,goods,---,二级缓存,session,020,Mybatis,selectOne,MyBatisUtils
From: https://www.cnblogs.com/LLL0617/p/16884343.html

相关文章

  • 补档--【THM】Walking An Application(遍历web应用程序)-学习
    本文相关的TryHackMe实验房间链接:https://tryhackme.com/room/walkinganapplication通过学习相关知识点:仅使用你的浏览器开发工具手动检查Web应用程序的安全问题,仅使用......
  • 极客编程python入门-不可变对象
    不可变对象str是不变对象,而list是可变对象对于可变对象,比如list,对list进行操作,list内部的内容是会变化的,比如l=[1,2,34,56,34,78,23,12,12,34,45,657,45]l.sort()print(l)......
  • 8位单片机开发板 - 普中开发板HC6800_EM3_V2.2
    目录普中开发板HC6800_EM3_V2.2普中开发板HC6800_EM3_V2.2//升级方法://如果使用普中仿真器,必须要使用keilc51v901版本,新的keil版本不行!......
  • Oracle 19C学习 - 19. MERGE语句
    Merge语句的作用Merge语句可以根据不同条件,获取插入、更新、删除数据表中的行,然后从一个或者多个数据源头对表进行更新或向表中插入行。Merge语句的语法MERGEINTO表名......
  • [Typescript] 99. Hard - CamelCase
    Implement CamelCase<T> whichconverts snake_case stringto camelCase.ForexampletypecamelCase1=CamelCase<'hello_world_with_types'>//expectedtobe......
  • Day2-2 数据类型,数据类型拓展及类型转换
    数据类型强类型语言要求变量的使用要严格符合规定,多有变量都必须先定义后才能使用JAVA的数据类型分为两大类基本类型primitivetype引用类型referencetype......
  • 一款好用的插件(Maven-Helper)
    一款好用的插件(Maven-Helper)前言博主在整合log4j日志的时候,发现启动不了项目,报错信息,大致是这样的:意思是在logback-classic-1.2.3.jar和log4j-slf4j-impl-2.13.3.j......
  • AT32F421xx外设驱动3-timer(寄存器)
    #include"BspPhy.h"uint8_tTimerFlag;//****************************************************************//******定时器6初始化函数//******输入参数:无......
  • vue 翻页组件vue-flip-page
    方法change(改变页面)tap(点击)turning(正在翻页)prev(前一页)next(后一页)翻到指定页面:handleSwitchManual(index){if(index===this.currentIndex)......
  • 牛客小白月赛60 E-寻找小竹!(数论)
    链接:https://ac.nowcoder.com/acm/contest/45670/E来源:牛客网题目大意:有n个城市,n-1条道路,每个城市都有它自己的优雅值ai而如果两个相邻的路口的优雅值存在至少两个共......