MybatisPlus的Wrapper带条件的eq等方法,不满足condition的时候也会执行后面的方法
MybatisPlus的Wrapper带条件的eq等方法,在不满足条件的时候也会执行后面的方法。这个方法的意思是:会执行,但是sql条件不会有。
·
MybatisPlus的Wrapper带条件的eq等方法的坑
MybatisPlus的Wrapper带条件的eq等方法,在不满足条件的时候也会执行后面的方法
这个方法的意思是:会执行,但是sql条件不会有
下面写法在某些值为null时会报空指针异常
LambdaQueryWrapper<PdfSplitJobPo> queryWrapper = new LambdaQueryWrapper<>();
// 如果 jobStatus.getStatusEnum() 为 null,随便 condition 不满足,但是还会报空指针异常
queryWrapper.eq(Objects.nonNull(jobStatus.getStatusEnum()), PdfSplitJobPo::getStatus, jobStatus.getStatusEnum().getStatus());
queryWrapper.eq(Objects.nonNull(jobStatus.getPdfSplitJobId()), PdfSplitJobPo::getJobId, jobStatus.getPdfSplitJobId().getJobId());
LambdaQueryWrapper<PdfSplitJobPo> queryWrapper = new LambdaQueryWrapper<>();
// 这样写不会报空指针异常
if (Objects.nonNull(jobStatus.getStatusEnum())) {
queryWrapper.eq(PdfSplitJobPo::getStatus, jobStatus.getStatusEnum().getStatus());
}
PdfSplitJobId pdfSplitJobId = jobStatus.getPdfSplitJobId();
if (Objects.nonNull(pdfSplitJobId)) {
queryWrapper.eq(PdfSplitJobPo::getJobId, jobStatus.getPdfSplitJobId().getJobId());
}
更多推荐
已为社区贡献1条内容
所有评论(0)