还需要再xml配置文件中开启
<settings> <setting name="cacheEnabled" value="true"/> </settings>并且对于需要提交到二级缓存的JavaBean,需要实现Serializable接口
二级缓存的作用域是同一个SqlSessionFactory产生的SqlSession,对同一个namespace下的查询语句 注意:不同的SqlSessionFactory只能由不同的流对象构造,因为流对象使用一次后就会被关闭开启二级缓存之后,如果某个sql语句不需要使用二级缓存,则在select标签内声明usecache=false即可 <select id="..." resultType="..." usecache="false"> ... <select/> flushCache将其设置为 true 后,只要语句被调用,都会导致本地缓存和二级缓存被清空,默认值:false。useCache将其设置为 true 后,将会导致本条语句的结果被二级缓存缓存起来,默认值:对 select 元素为 true。数据不是一查出来就提交到二级缓存,提交的时机是当前SqlSession对象调用了close()方法之后提交,刷新的时机是调用commit
