使用select配置的时候发现前后两次的结果是一样的? MyBatis官方文档中找到,在MyBatis中有flushCache、useCache这两个配置属性,分为下面几种情况:(1)当为select语句时: ① flushCache默认为
MyBatis官方文档中找到,在MyBatis中有flushCache、useCache这两个配置属性,分为下面几种情况: (1)当为select语句时: ① flushCache默认为false,表示任何时候语句被调用,都不会去清空本地缓存和二级缓存。 ① useCache默认为true,表示会将本条语句的结果进行二级缓存。 (2)当为insert、update、delete语句时: ① flushCache默认为true,表示任何时候语句被调用,都会导致本地缓存和二级缓存被清空。 ① useCache属性在该情况下没有。 当为select语句的时候,如果没有去配置flushCache、useCache,那么默认是启用缓存的,所以,如果有必要,那么就需要人工修改配置,修改结果类似下面: 注意后面的flushCache="true"和useCache="false",做了如上设置以后,发现问题就解决了