zoukankan      html  css  js  c++  java
  • mybatis的缓存

    mybatis有两个级别的缓存,一个级别是session级别的缓冲,另外一个是sessionFactory级别的缓存。
    session级别的缓存(一级缓存)
    在mybatis中,启动一个session,默认就会启用session的级别的缓存。不需要配置。 
    sessionFactory级别的缓存(二级缓存)
    如果要启用sessionFactory级别的缓存,需要配置。
    第一步,需要在mybatis主配置文件中启用二级缓存 
    第二步,在需要启用二级缓存的mapper文件中增加cache子标签
    注意:如果不想让这个mapper文件中所有的方法都启用二 级缓存,可以对select标签进行单独的配置: 
    userCache默认是true,如果设置成false,则该条sql不启用二级缓存。 
    第三步,需要把查询到的实体类实现序列化的接口

    第四步,测试

    /**
    * 测试session级别的缓存
    */
    public class Test06 {
    public static void main(String[] args) {
    SqlSession session1 = SqlSessionFactoryUtil.getSession();
    //第一次查询所有用户的数据
    EmpDao empDao1 = session1.getMapper(EmpDao.class);
    List<Emp> emps1 = empDao1.listAll();
    System.out.println("员工总人数:"+emps1.size());
    System.out.println("=====");
    session1.close();
    SqlSession session2 = SqlSessionFactoryUtil.getSession();
    //第二次次查询所有用户的数据
    EmpDao empDao2 = session2.getMapper(EmpDao.class);
    List<Emp> emps2 = empDao2.listAll();
    System.out.println("员工总人数:"+emps2.size());
    System.out.println("=====");
    session2.close();
    }
    }

    注意:session记得关闭。

  • 相关阅读:
    ssh
    ssh免密码登陆
    滑雪[dp]
    Help Jimmy[dp]
    动态规划 [子序列问题]
    最佳加法表达式 [dp]
    求排列的逆序数[归并排序]
    输出前m大个数,时间复杂度O(n+mlog(m)) [快排]
    不会递归?五道例题教你如何递归
    函数模板的琐碎笔记
  • 原文地址:https://www.cnblogs.com/duguangming/p/10889648.html
Copyright © 2011-2022 走看看