3.1.0可以通过拼接sql的方式绕过
LambdaQueryWrapper<AdvertisementEntity> queryWrapper = Wrappers.<AdvertisementEntity>lambdaQuery().eq(AdvertisementEntity::getIsDelete,1);
Function<LambdaQueryWrapper<AdvertisementEntity>,LambdaQueryWrapper<AdvertisementEntity>> function = r->{
//条件
if (条件){
r.like(AdvertisementEntity::getTitle,"开平");
}
if (!StringUtils.hasText(r.getSqlSegment())){
//防止or里的查询条件为空,导致sql查询为空
r.last("1=1");
}
return r;
};
//Function<Param, Param> func = i->i.
queryWrapper.or(function);
advertisementService.list(queryWrapper);
也可以通过自定义sql注入器的形式,新写方法去跳过逻辑删除
@Configuration
@EnableTransactionManagement
@MapperScan("com.weixun.suke.mapper")
public class MybatisPlusConfig {
/**
* 逻辑删除
*/
@Bean
public ISqlInjector sqlInjecto