zoukankan      html  css  js  c++  java
  • Mybatis入门笔记(15)——Mybatis 基于注解开发的缓存配置

    1. 在SqlMapconfig.xml中开启二级缓存支持

      Mybatis默认开启了二级缓存,可以不用配置。

      Mybatis官网: http://www.mybatis.org/mybatis-3/zh/configuration.html#settings

      <!--配置二级缓存-->
      <settings>
          <!-- 开启二级缓存支持-->
          <setting name="cacheEnabled" value="true"/>
      </settings>
      
    2. 在持久层接口中使用注解配置二级缓存

      /**
       * @ClassName: IUserDao
       * @author: benjamin
       * @createTime: 2019/07/19/21:50
       */
      @CacheNamespace(blocking = true) //mybatis 基于注解方式实现配置二级缓存
      public interface IUserDao {
      
    3. 编写测试类

      /**
       * @ClassName: SecondCacheTest
       * @author: benjamin
       * @version: 1.0
       * @description: TODO
       * @createTime: 2019/07/19/21:45
       */
      
      public class SecondCacheTest {
          private InputStream in;
          SqlSessionFactory factory;
      
          @Before//用于在测试方法执行之前执行
          public void init()throws Exception{
              //1.读取配置文件,生成字节输入流
              in = Resources.getResourceAsStream("SqlMapConfig.xml");
              //2.获取SqlSessionFactory
              factory = new SqlSessionFactoryBuilder().build(in);
          }
      
          @After//用于在测试方法执行之后执行
          public void destroy()throws Exception{
              in.close();
          }
      
          //测试二级缓存
          @Test
          public void testFindById(){
              SqlSession sqlSession = factory.openSession(true);
              IUserDao userDao = sqlSession.getMapper(IUserDao.class);
              User user = userDao.findUserById(48);
              System.out.println(user);
      
              sqlSession.close();//释放一级缓存
      
              SqlSession sqlSession1 = factory.openSession(true);
              IUserDao userDao1 = sqlSession1.getMapper(IUserDao.class);
              User user1 = userDao1.findUserById(48);
              System.out.println(user1);
              sqlSession.close();//释放一级缓存
          }
      }
      

    开启二级缓存后,数据库只进行了一次查询。

  • 相关阅读:
    [NOIp2016] 天天爱跑步
    状压DP小拼盘
    DP × KMP
    KMP算法 详解+模板
    [NOI2014] 起床困难综合症
    [洛谷P3391] 文艺平衡树 (Splay模板)
    START
    【C】单链表的实现
    【数据结构】动态顺序表
    C语言实现扫雷程序
  • 原文地址:https://www.cnblogs.com/benjieqiang/p/11217932.html
Copyright © 2011-2022 走看看