我是靠谱客的博主 糊涂墨镜,最近开发中收集的这篇文章主要介绍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 ;

最后

以上就是糊涂墨镜为你收集整理的MyBatis/MyBatis-Plus之AND和OR合用查詢的全部内容,希望文章能够帮你解决MyBatis/MyBatis-Plus之AND和OR合用查詢所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部