Mybatis-plus apply函數(shù)使用場(chǎng)景分析
一、前言
Mybatis-plus 里面的 apply方法 是用于拼接自定義的條件判斷
二、業(yè)務(wù)場(chǎng)景
1、自定義時(shí)間查詢
根據(jù)傳進(jìn)來(lái)的開(kāi)始日期,查詢所有該日期是數(shù)據(jù),但是數(shù)據(jù)庫(kù)中保存是時(shí)間,所以需要使用apply查詢方式并格式化。
@Override public List<QuestionnairePush> queryBaseCountByYearOrMonth(PaperRecycleStatisfactionQueryDTO paperRecycleStatisfactionQueryDTO, Integer state) { LambdaQueryChainWrapper<QuestionnairePush> questionnairePushLambdaQueryChainWrapper = new LambdaQueryChainWrapper<>(questionnairePushMapper); if (state == 3) { //判斷年份 //使用條件構(gòu)造器apply查詢方式可以直接把格式一樣的當(dāng)前時(shí)間和課程結(jié)束時(shí)間進(jìn)行比較篩選 questionnairePushLambdaQueryChainWrapper.apply("DATE_FORMAT(CREATE_TIME,'%Y') = '" + paperRecycleStatisfactionQueryDTO.getSummaryYear() + "'"); } else if (state == 1) { if (paperRecycleStatisfactionQueryDTO.getSummaryNumber().toString().length() > 1) { //月份是雙位數(shù)處理 //使用條件構(gòu)造器apply查詢方式可以直接把格式一樣的當(dāng)前時(shí)間和課程結(jié)束時(shí)間進(jìn)行比較篩選 questionnairePushLambdaQueryChainWrapper.apply("DATE_FORMAT(CREATE_TIME,'%Y-%m') = '" + paperRecycleStatisfactionQueryDTO.getSummaryYear() + "-" + paperRecycleStatisfactionQueryDTO.getSummaryNumber() + "'"); } else { //月份是單位數(shù)處理 //使用條件構(gòu)造器apply查詢方式可以直接把格式一樣的當(dāng)前時(shí)間和課程結(jié)束時(shí)間進(jìn)行比較篩選 questionnairePushLambdaQueryChainWrapper.apply("DATE_FORMAT(CREATE_TIME,'%Y-%m') = '" + paperRecycleStatisfactionQueryDTO.getSummaryYear() + "-0" + paperRecycleStatisfactionQueryDTO.getSummaryNumber() + "'"); } } List<QuestionnairePush> list = questionnairePushLambdaQueryChainWrapper.list(); return list; }
為什么要加0是因?yàn)閿?shù)據(jù)包保存的月份是雙位
- 永不放棄嘗試,你就不是失敗者。
- 不要猶豫,走出去,去探險(xiǎn)。
- 不是情況造就人,就是人早就情況。
- 生活有一種英雄主義,經(jīng)歷逆境后依然熱愛(ài)生活。
- 不要只因一次挫敗就放棄,你原來(lái)決心想要到達(dá)的目的。
- 真正的成功源于生命里的學(xué)習(xí),成長(zhǎng)和熱愛(ài),以及不停步。
- 自己的命運(yùn)自己掌控,腳下的路不停步。
- 即使爬到最高的山上,一次也只能腳踏實(shí)地地邁一步。
- 未來(lái)屬于那些相信夢(mèng)想,并愿意為之付諸行動(dòng)的人。
- 每一次跌倒都是為了華麗的站起來(lái)。
到此這篇關(guān)于Mybatis-plus apply函數(shù)使用的文章就介紹到這了,更多相關(guān)Mybatis-plus apply函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot集成Elasticsearch過(guò)程實(shí)例
這篇文章主要介紹了SpringBoot集成Elasticsearch過(guò)程實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04RocketMQ中消費(fèi)者概念和消費(fèi)流程詳解
這篇文章主要介紹了RocketMQ中消費(fèi)者概念和消費(fèi)流程詳解,RocketMQ是一款高性能、高可靠性的分布式消息中間件,消費(fèi)者是RocketMQ中的重要組成部分,消費(fèi)者負(fù)責(zé)從消息隊(duì)列中獲取消息并進(jìn)行處理,需要的朋友可以參考下2023-10-10老生常談Java網(wǎng)絡(luò)編程TCP通信(必看篇)
下面小編就為大家?guī)?lái)一篇老生常談Java網(wǎng)絡(luò)編程TCP通信(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05Jlabel實(shí)現(xiàn)內(nèi)容自動(dòng)換行簡(jiǎn)單實(shí)例
這篇文章主要介紹了Jlabel實(shí)現(xiàn)內(nèi)容自動(dòng)換行簡(jiǎn)單實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01spring-boot通過(guò)@Scheduled配置定時(shí)任務(wù)及定時(shí)任務(wù)@Scheduled注解的方法
這篇文章主要介紹了spring-boot通過(guò)@Scheduled配置定時(shí)任務(wù),文中還給大家介紹了springboot 定時(shí)任務(wù)@Scheduled注解的方法,需要的朋友可以參考下2017-11-11MyBatis實(shí)現(xiàn)動(dòng)態(tài)SQL的實(shí)現(xiàn)方法
這篇文章主要介紹了MyBatis實(shí)現(xiàn)動(dòng)態(tài)SQL的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12