【SSM-Mybatis】缓存

【【SSM-Mybatis】缓存】一级缓存:
一级缓存在session上,只要通过session查过的数据,都会放在session上,下一次再查询相同id的数据,都直接冲缓存中取出来,而不用到数据库里去取了。
二级缓存:
二级缓存是SessionFactory,如果两次查询基于同一个SessionFactory,那么就从二级缓存中取数据,而不用到数据库里去取了。
一级缓存:

@Test public void test() throws IOException { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession session1 = sqlSessionFactory.openSession(); SqlSession session2 = sqlSessionFactory.openSession(); World w1 = session1.selectOne("selId",1); System.out.println(w1); World w2 = session1.selectOne("selId",1); System.out.println(w2); System.out.println("--------------------"); World w3 = session1.selectOne("selId",1); System.out.println(w3); World w4 = session2.selectOne("selId",1); System.out.println(w4); }

【SSM-Mybatis】缓存
文章图片

二级缓存 1.在mybatis.xml中添加设置允许二级缓存

2.在World.xml中添加

3.World类实现序列化
implements Serializable{

    推荐阅读