mybatis的的一级缓存是SqlSession级别的缓存,一级缓存缓存的是对象,当SqlSession提交、关闭以及其他的更新数据库的操作发生后,一级缓存就会清空。
二级缓存是SqlSessionFactory级别的缓存,同一个SqlSessionFactory产生的SqlSession都共享一个二级缓存,二级缓存中存储的是数据,当命中二级缓存时,通过存储的数据构造对象返回。查询数据的时候,查询的流程是二级缓存>一级缓存>数据库。
sqlSession用来操作数据库的。
sqlSessionFactory是mybatis中的一个重要的对象,通俗讲它是用来创建sqlSession对象的。
在Hibernate框架中,sqlSessionFactory是Hibernate一个数据库session的连接工厂配置,更像一种连接池管理类,每次的数据操作都将由连接池来分配连接后进行。