MyBatis/MyBatis-Plus之AND和OR合用查詢

/*
 * 未开始 start_time>= 当前时间
 * 进行中 start_time<= 当前时间 AND end_time>= 当前时间
 */
LocalDateTime now = LocalDateTime.now();
QueryWrapper<Activity> activityQueryWrapper = new QueryWrapper<>();
activityQueryWrapper.and(
        queryWrapper -> queryWrapper.ge("start_time", now)
        .or(
                qw -> qw.le("start_time", now).ge("end_time", now)
        )
);
activityQueryWrapper.eq("del_flag", 0);
SELECT 
  id,
  title,
  start_time,
  end_time,
  del_flag 
FROM
  `activity` 
WHERE (
    start_time >= '2022-08-30T15:04:04.452' 
    OR (
      start_time <= '2022-08-30T15:04:04.452' 
      AND end_time >= '2022-08-30T15:04:04.452'
    )
  ) 
  AND del_flag = 0 ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值