java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Mybatis-plus apply函数

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

作者:李长渊哦

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函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文