mybatis二级缓存
在mybatis配置文件中添加开启二级缓存的标签
<setting name="cacheEnabled" value="true"></setting>
在需要开启二级缓存的mapper文件中添加
<cache></cache>
对应的pojo类实现Serializable接口
可以在对应的mapper文件实现的方法里添加useCache="true"控制二级缓存的开关
测试
SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSession();
IEmpDao empDao = sqlSession.getMapper(IEmpDao.class);
List<Emp> allEmp = empDao.getAllEmp();
for (Emp emp : allEmp) {
System.out.println("员工编号:" + emp.getEmpno());
System.out.println("员工姓名:" + emp.getEname());
System.out.println("部门名称:" + emp.getDept().getDname());
System.out.println("========================================");
}
sqlSession.close();
SqlSession sqlSession2 = SqlSessionFactoryUtil.getSqlSession();
IEmpDao empDao2 = sqlSession2.getMapper(IEmpDao.class);
List<Emp> allEmp2 = empDao2.getAllEmp();
for (Emp emp : allEmp2) {
System.out.println("员工编号:" + emp.getEmpno());
System.out.println("员工姓名:" + emp.getEname());
System.out.println("部门名称:" + emp.getDept().getDname());
System.out.println("========================================");
}
sqlSession2.close();
开启缓存后的运行结果
二级缓存关闭时的执行结果