Mybatis-plus apply函数使用场景分析

 更新时间:2024年02月28日 15:09:22   作者:李长渊哦  
Mybatis-plus 里面的 apply方法 是用于拼接自定义的条件判断,自定义时间查询,根据传进来的开始日期,查询所有该日期是数据,但是数据库中保存是时间,所以需要使用apply查询方式并格式化,这篇文章给大家介绍Mybatis-plus apply函数使用,感兴趣的朋友一起看看吧

一、前言

Mybatis-plus 里面的 apply方法 是用于拼接自定义的条件判断

二、业务场景

1、自定义时间查询

根据传进来的开始日期,查询所有该日期是数据,但是数据库中保存是时间,所以需要使用apply查询方式并格式化。

    @Override
    public List<QuestionnairePush> queryBaseCountByYearOrMonth(PaperRecycleStatisfactionQueryDTO paperRecycleStatisfactionQueryDTO, Integer state) {
        LambdaQueryChainWrapper<QuestionnairePush> questionnairePushLambdaQueryChainWrapper = new LambdaQueryChainWrapper<>(questionnairePushMapper);
        if (state == 3) {
            //判断年份
    		//使用条件构造器apply查询方式可以直接把格式一样的当前时间和课程结束时间进行比较筛选
            questionnairePushLambdaQueryChainWrapper.apply("DATE_FORMAT(CREATE_TIME,'%Y') = '" + paperRecycleStatisfactionQueryDTO.getSummaryYear() + "'");
        } else if (state == 1) {
            if (paperRecycleStatisfactionQueryDTO.getSummaryNumber().toString().length() > 1) {
                //月份是双位数处理
    			//使用条件构造器apply查询方式可以直接把格式一样的当前时间和课程结束时间进行比较筛选
                questionnairePushLambdaQueryChainWrapper.apply("DATE_FORMAT(CREATE_TIME,'%Y-%m') = '" + paperRecycleStatisfactionQueryDTO.getSummaryYear() + "-" + paperRecycleStatisfactionQueryDTO.getSummaryNumber() + "'");
            } else {
                //月份是单位数处理
				//使用条件构造器apply查询方式可以直接把格式一样的当前时间和课程结束时间进行比较筛选
                questionnairePushLambdaQueryChainWrapper.apply("DATE_FORMAT(CREATE_TIME,'%Y-%m') = '" + paperRecycleStatisfactionQueryDTO.getSummaryYear() + "-0" + paperRecycleStatisfactionQueryDTO.getSummaryNumber() + "'");
            }
        }
        List<QuestionnairePush> list = questionnairePushLambdaQueryChainWrapper.list();
        return list;
    }

为什么要加0是因为数据包保存的月份是双位

  • 永不放弃尝试,你就不是失败者。
  • 不要犹豫,走出去,去探险。
  • 不是情况造就人,就是人早就情况。
  • 生活有一种英雄主义,经历逆境后依然热爱生活。
  • 不要只因一次挫败就放弃,你原来决心想要到达的目的。
  • 真正的成功源于生命里的学习,成长和热爱,以及不停步。
  • 自己的命运自己掌控,脚下的路不停步。
  • 即使爬到最高的山上,一次也只能脚踏实地地迈一步。
  • 未来属于那些相信梦想,并愿意为之付诸行动的人。
  • 每一次跌倒都是为了华丽的站起来。

到此这篇关于Mybatis-plus apply函数使用的文章就介绍到这了,更多相关Mybatis-plus apply函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • SpringBoot集成Elasticsearch过程实例

    SpringBoot集成Elasticsearch过程实例

    这篇文章主要介绍了SpringBoot集成Elasticsearch过程实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Java中读取文件转换为字符串的方法

    Java中读取文件转换为字符串的方法

    今天小编就为大家分享一篇Java中读取文件转换为字符串的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • RocketMQ中消费者概念和消费流程详解

    RocketMQ中消费者概念和消费流程详解

    这篇文章主要介绍了RocketMQ中消费者概念和消费流程详解,RocketMQ是一款高性能、高可靠性的分布式消息中间件,消费者是RocketMQ中的重要组成部分,消费者负责从消息队列中获取消息并进行处理,需要的朋友可以参考下
    2023-10-10
  • Java构造器方法深入理解

    Java构造器方法深入理解

    这篇文章主要介绍了Java构造器方法深入理解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • 老生常谈Java网络编程TCP通信(必看篇)

    老生常谈Java网络编程TCP通信(必看篇)

    下面小编就为大家带来一篇老生常谈Java网络编程TCP通信(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • springboot 自定义属性与加载@value示例详解

    springboot 自定义属性与加载@value示例详解

    在SpringBoot框架中,自定义属性通常通过application.properties文件配置,并使用@Value注解加载,虽然这是一种可行的方法,但存在一种更优雅的实现方式,本文给大家介绍springboot 自定义属性与加载@value的相关操作,感兴趣的朋友一起看看吧
    2024-10-10
  • Jlabel实现内容自动换行简单实例

    Jlabel实现内容自动换行简单实例

    这篇文章主要介绍了Jlabel实现内容自动换行简单实例,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • java中HashMap的七种遍历方式小结

    java中HashMap的七种遍历方式小结

    本文主要介绍了java中HashMap的七种遍历方式小结,包括迭代器,For Each,Lambda,Streams API等,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • spring-boot通过@Scheduled配置定时任务及定时任务@Scheduled注解的方法

    spring-boot通过@Scheduled配置定时任务及定时任务@Scheduled注解的方法

    这篇文章主要介绍了spring-boot通过@Scheduled配置定时任务,文中还给大家介绍了springboot 定时任务@Scheduled注解的方法,需要的朋友可以参考下
    2017-11-11
  • MyBatis实现动态SQL的实现方法

    MyBatis实现动态SQL的实现方法

    这篇文章主要介绍了MyBatis实现动态SQL的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论