微服务 教程
1085个小节阅读:196.6k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
MyBatis默认开启一级缓存,接下来我们学习如何在注解开发时使用二级缓存:
POJO类实现Serializable接口。
在MyBatis配置文件添加如下设置:
xxxxxxxxxx
<settings>
<setting name="cacheEnabled" value="true"/>
</settings>
在持久层接口上方加注解@CacheNamespace(blocking=true),该接口的所有方法都支持二级缓存。
测试二级缓存
xxxxxxxxxx
@Test
public void testCache() throws IOException {
InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml");
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(is);
SqlSession session1 = factory.openSession();
SqlSession session2 = factory.openSession();
User user1 = session1.getMapper(UserMapper.class).findById(1);
System.out.println(user1);
System.out.println(user1.hashCode());
session1.commit(); // 清空一次缓存,将数据存到二级缓存
User user2 = session2.getMapper(UserMapper.class).findById(1);
System.out.println(user2);
System.out.println(user2.hashCode());
}
1.在MyBatis中,使用注解可以为持久层接口的所有方法开启二级缓存
A @Results
B @ResultMap
C @CacheNamespace
D @Setting
1=>C