首页 > 其他 > 详细

mybatis的缓存

时间:2019-05-19 16:44:54      阅读:126      评论:0      收藏:0      [点我收藏+]
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记得关闭。

mybatis的缓存

原文:https://www.cnblogs.com/duguangming/p/10889648.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!