1_一级缓存

时间:2022-09-16 00:51:45


 一级存储是SqlSession上的缓存,默认开启,是一种内存型缓存,不要求实体类对象实现Serializable接口。

缓存中的数据使用键值对形式存储数据

namespace+sqlid+args+offset>>> hash值作为键,查询出的结果作为值

1_一级缓存

 

测试 代码

 

@Test
public void testFindDeptByDetpno() {
EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);
Emp emp = mapper.findByEmpno(7521);
System.out.println(emp);
// 中间发生了增删改或者是调用了SqlSession调用了commit,会自动清空缓存
sqlSession.commit();// 增删改的时候调用
EmpMapper mapper2 = sqlSession.getMapper(EmpMapper.class);
Emp emp2 = mapper2.findByEmpno(7521);
System.out.println(emp2);
System.out.println(emp==emp2);
System.out.println(mapper==mapper2);
}

1_一级缓存

1_一级缓存