Use mybatisPlus to automatically conditionally manipulate data;
The incoming execution query conditions are as follows:
Wrapper<DigitalNewspaper> wrapper = this.lambdaQuery().eq(DigitalNewspaper::getNewspaperType, newspaperType).eq(DigitalNewspaper::getReleaseDate, releaseDate);
List<DigitalNewspaper> digitalNewspapers = ((LambdaQueryChainWrapper<DigitalNewspaper>) wrapper).list();
The above query list can be operated normally;
When executing the delete method, the following error is prompted;
Conditions continue to use those from the list above;
Wrapper<DigitalNewspaper> wrapper = this.lambdaQuery().eq(DigitalNewspaper::getNewspaperType, newspaperType).eq(DigitalNewspaper::getReleaseDate, releaseDate);
this.getBaseMapper().delete(wrapper);
The error message is as follows:
MybatisPlusException: can not use this method for "getEntity"
I later found this error online; it was said to be caused by an official mybatisPlus bug; it can be solved by modifying it as follows:
LambdaQueryWrapper<DigitalNewspaper> lq = Wrappers.lambdaQuery();
this.getBaseMapper().delete(lq.eq(DigitalNewspaper::getNewspaperType, newspaperType).eq(DigitalNewspaper::getReleaseDate, releaseDate));