MyBatis 缓存导致查询非最新数据问题
问题原因
MyBatis 缓存导致查询非最新数据
解决方法
在 mapper 的 xml 标签中加入 flushCache="true"
和 useCache="false"
属性
问题分析
当为 select 语句时:
flushCache 默认为 false,表示任何时候调用语句,都不会清空本地缓存和二级缓存。
useCache 默认为 true,表示会将本条语句的结果进行二级缓存。
当为 insert、update、delete 语句时:
flushCache 默认为 true,表示任何时候语句被调用,都会导致本地缓存和二级缓存被清空。
useCache 属性在该情况下没有。