当前使用版本(必须填写清楚,否则不予处理)

3.1.1

该问题是怎么引起的?(最新版上已修复的会直接close掉)

多次调用同一个分页方法,修改分页参数。返回结果都是一样的

重现步骤

@PostMapping(value = "/getAdmin")
@ApiOperation(value = "mybatis-plus", notes = "测试")
@Transactional
public Object getAdmin(@RequestParam(required = false) Long id) throws Exception {
    Admin admin = new Admin();
    Avo  ab = new Avo ();
    ab.setPage(true);
    ab.setDesc("id");
    ab.setSize(2);
    List<Admin> admins = testDao.getAdminList(ab);
    Avo d = new Avo ();
    d.setPage(true);
    d.setDesc("id");
    d.setSize(3);
    LyricsPage<Admin> adminPage=new LyricsPage<>();
    adminPage.setSize(3);
    Object a = testDao.selectPage(adminPage,new QueryWrapper<>(new Admin()));
    LyricsPage<Admin> ad =new LyricsPage<>();
    ad.setSize(10);
    Object b = testDao.selectPage(ad,new QueryWrapper<>(new Admin()));
    return admins;
}

MyBatis-Plus 多次调用同一个分页方法,修改分页参数。返回结果都是一样的

报错信息

Comment From: lyricsqq

是缓存问题吗。如果修改查询条件。结果会改变。不修改sql不会打印

Comment From: nieqiurong

重新缓存的时候错了,先注掉@Transactional或改变当前页码,也可以增加入参.

Comment From: lyricsqq

@transactional 这个注解拿掉是没有用的我试过了。修改入参有效果。

Comment From: nieqiurong

@transactional 这个注解拿掉是没有用的我试过了。修改入参有效果。 不想改入参的话,第二次改变下total的值,随便设置个值即可

Comment From: lyricsqq

哦。业务应用上一般不会出现这样的调用。这是在我整理框架的时候测试时弄出来的。

Comment From: jqncc

版本3.3.1 同一方法内,两次调用同一分页查询,中间有调整分页参数,甚至将page设置为null,结果还是第一次查询的,伪代码如下:

public void find(Search vo){ Page pagebean=new Page<>(1,20); //每一次 List<> lst1=saleReportMapper.findShopSaleStatement(pagebean, vo); //遍历操作 //第二次,变更分页参数 List<> lst2=saleReportMapper.findShopSaleStatement(null, vo); // lst2 结果是lst1的 }

升级到最新3.5.2仍然有问题

Comment From: miemieYaho

给出你的复现demo