这次项目用的是mybatis,进行到现在遇到一个问题,查询语句会有缓存,就是数据更改后,在一定时间读到的依然是旧数据,mybatis内部本来在插入,删除,修改等方法执行后会清楚缓存,但是由于后台使php的,而java这边仅仅是查询,所以当php更新后java不能及时读取到最新的数据,怎么办?
默认情况下,select语句总是使用缓存,但有些情况下,我们希望它总是刷新从而得到最新数据,看了下它的文档,但是我没有配置文件
<settings>
<setting name="cacheEnabled" value="false"/>
</settings>
对sql映射文件的配置:
flushCache="true" useCache="false"
不起作用
之后又查到清理sqlSession
SqlSession session = this.sqlSessionFactory.openSession(false);
session.clearCache();
可是依然没有效果
都一整天了,依然没有解决,明天继续研究,同时求大神帮忙。