在使用MyBatis Plus。XXMapper接口继承了BaseMapper接口,同时XXMapper还有对应的xml文件,其中有一些自定义方法,而且使用<cache />开启了缓存。当我使用BaseMapper.save(T Entity)保存了一个实体类到数据库,再使用XXMapper文件里的自定义查询方法时,发现查询到的数据是使用BaseMapper.save(T Entity)插入实体类前的数据,这显然是有问题的。该如何解决这个问题呢?
mybatis内存本质是三个层级。
第一个层级,session层级。
第二个层级,namespace,即XXMapper层级。
第三个层级,statement层级,即某一个SQL语句的层级。这个SQL语句通常是select。
停用第二个层次的缓存,在select标签上添加useCache,设置为false。停用第一个层次的缓存,在select标签上添加flushCache为true。