在SqlSession范围内。当查询相同对象时,会使用缓存中的数据,而不会再次查询。
1、Mybatis默认开启了一级缓存
2、代码
public static void main(String[] args) throws IOException {
SqlSession session=MyBatisUtil.getSession();
User user = session.selectOne("cn.sxt.entity.UserMapper.selectUser", 1);
User user1 = session.selectOne("cn.sxt.entity.UserMapper.selectUser", 1);
System.out.println(user==user1);
session.close();
}
3、结果为true
二级缓存
(SqlSessionFactory范围内)
1、开启二级缓存
在核心配置文件中
Mapper配置中加
实体类要序列化



