在同一事务中,mybatis多次查询返回相同结果解决方法

一、问题描述:

使用spring @Transaction事务时,在for循环中需要多次执行同一查询语句,第一次查询出对象后,对对象进行修改后,结果再进行第二次查询的时候,查询返回的数据是自己第一次修改后的数据。因为业务需要每次查询都需要取更改数据库,以后的查询都会根据上一次循环修改后的值进行操作。

二、解决方法:

(1)在xml文件 select语句添加  flushCache="true"  ,告诉mybatis查询结束后刷新缓存,不记录查询结果到一级缓存中