【Mybatis-Plus学习笔记】在and中嵌套or

代码

@GetMapping("getQuestion")
public DcResponse getQuestion (){
    String ywlx = "1";
    String enterpriseId = "A230D4B64616D4D01FC8AA3D949D7893";
    List<FeedbackQuestions> feedbackQuestions = questionsService.list(Wrappers.<FeedbackQuestions>lambdaQuery()
            .eq(FeedbackQuestions::getEnterpriseId,enterpriseId)
            .and(warpper->warpper.isNull(FeedbackQuestions::getYwlx)
                    .or()
                    .eq("2".equals(ywlx),FeedbackQuestions::getYwlx, 2)
                    .in(!"2".equals(ywlx),FeedbackQuestions::getYwlx, Arrays.asList(1,3))));
    return DcResponse.ok(feedbackQuestions);
}

打印的sql

SELECT
	question_id,
	user_id,
	question_content,
	enterprise_id,
	jst_record_id,
	tyshxydm,
	ywlx,
	reply_id,
	reply_content,
	reply_time,
	reply_status,
	reading_status,
	reading_time,
	create_id,
	create_time,
	update_id,
	update_time 
FROM
	feedback_questions 
WHERE
	enterprise_id = 'A230D4B64616D4D01FC8AA3D949D7893' 
	AND ( ywlx IS NULL OR ywlx IN ( 1, 3 ) )
// 查询所有在规定时间内没有对受理或办结阶段进行评价的事项
List<RecordMaster> masterList = recordMasterMapper.selectList(Wrappers.<RecordMaster>lambdaQuery()
       .and(wrapper -> wrapper.eq(RecordMaster::getStartEvaluationState, Constants.EVALUATION_STATE_0)
               .lt(RecordMaster::getStartTime, LocalDateTime.now().minusDays(Constants.COMMON_NUMB_7)))
       .or((wrapper -> wrapper.eq(RecordMaster::getEndEvaluationState, Constants.EVALUATION_STATE_0)
               .lt(RecordMaster::getEndTime, LocalDateTime.now().minusDays(Constants.COMMON_NUMB_7)))));

SELECT
	id,
	jst_record_id,
	credit_code,
	master_type,
	master_code,
	master_name,
	start_evaluation_state,
	end_evaluation_state,
	start_time,
	end_time,
	create_time,
	update_time 
FROM
	record_master 
WHERE
	( start_evaluation_state = 0 AND start_time < ' 2022-12-04 23:10:38' ) 
	OR ( end_evaluation_state = 0 AND end_time < ' 2022-12-04 23:10:38' )

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值