mybatis plus時間判斷問題
mybatis plus時間判斷
<where>
<if test="startTime != null">
and eventtimestamp >= #{startTime,jdbcType=TIMESTAMP}
</if>
<if test="endTime != null">
and eventtimestamp < #{endTime} ,INTERVAL 1 DAY)
</if>
</where>方法一:使用xml 原生轉(zhuǎn)義的方式進(jìn)行轉(zhuǎn)義#
- 字符名稱 sql符號 轉(zhuǎn)義字符
- 大于號 > >
- 小于號 < <
- 不等于 <> <>
- 大于等于號 >= >=
- 小于等于號 <= <=
- 與 & &
- 單引號 ' '
- 雙引號 " "
<if test="startTime != null and endTime != null">
and change_time between #{startTime,jdbcType=TIMESTAMP} and #{endTime,jdbcType=TIMESTAMP}
</if>mybatis plus如何進(jìn)行時間日期的比較
獲取數(shù)據(jù)庫中跟當(dāng)前日期相等的記錄時,還是調(diào)用eq方法,所以實體類包括數(shù)據(jù)庫中的類型是Date,而不是DateTime,否則只能獲取相同時刻的數(shù)據(jù)。
pulbic void main(){
LocalDate now = LocalDate.now();
LambdaQueryWrapper<Ebbinghaus> queryWrapper = new LambdaQueryWrapper();
queryWrapper.eq(Ebbinghasu.getCreateTime,now);
ebbinghuas.list(queryWrapper);
}Mybatis-Plus的時間比較是基于數(shù)據(jù)庫的函數(shù)進(jìn)行的,而不是字符串的比較。在Mybatis-Plus中,可以使用Wrapper對象的ge、gt、le、lt方法來進(jìn)行時間的比較。
這些方法會根據(jù)數(shù)據(jù)庫的不同,生成相應(yīng)的SQL語句來實現(xiàn)時間的比較操作。所以,不需要將時間轉(zhuǎn)換為字符串進(jìn)行比較。
如果要進(jìn)行天數(shù)的比較最好還是通過LocalDate做為數(shù)據(jù)的類型,而不是LocalDateTime,否則比較的也只是大于當(dāng)前時刻,大于等于當(dāng)前時刻。
如果對數(shù)據(jù)的時刻值有操作需求,可以進(jìn)行以下設(shè)置:
@JsonFormat(pattern = "yyyy-MM-dd") private LocalDateTime createTime;
數(shù)據(jù)庫中對應(yīng)的字段類型設(shè)置為date,而不是datetime,這樣即可以比較天數(shù),又可以在時刻上有更為豐富的操作。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
利用Spring Cloud Zuul實現(xiàn)動態(tài)路由示例代碼
Spring Cloud Zuul路由是微服務(wù)架構(gòu)的不可或缺的一部分,提供動態(tài)路由,監(jiān)控,彈性,安全等的邊緣服務(wù)。下面這篇文章主要給大家介紹了關(guān)于利用Spring Cloud Zuul實現(xiàn)動態(tài)路由的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-09-09
IDEA創(chuàng)建springboot依賴下載很慢的解決方法
maven會使用遠(yuǎn)程倉庫來加載依賴,是一個國外的網(wǎng)站,所以會很慢,本文主要介紹了IDEA創(chuàng)建springboot依賴下載很慢的解決方法,具有一定的參考價值,感興趣的可以了解一下2023-12-12
Java中g(shù)etParameterTypes()方法的使用與原理分析
本文詳細(xì)介紹了Java中g(shù)etParameterTypes()方法的使用方式、工作原理及其在實際開發(fā)中的應(yīng)用,該方法用于獲取方法的參數(shù)類型列表,并通過反射機(jī)制在運(yùn)行時動態(tài)地獲取這些信息,感興趣的朋友跟隨小編一起看看吧2025-01-01
Java實現(xiàn)的可選擇及拖拽圖片的面板功能【基于swing組件】
這篇文章主要介紹了Java實現(xiàn)的可選擇及拖拽圖片的面板功能,涉及java基于swing組件選擇與操作圖片元素的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2018-01-01
SpringBoot項目設(shè)置斷點(diǎn)debug調(diào)試無效忽略web.xml問題的解決
這篇文章主要介紹了SpringBoot項目設(shè)置斷點(diǎn)debug調(diào)試無效忽略web.xml問題的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
SpringCloud基本Rest微服務(wù)工程搭建過程
這篇文章主要介紹了SpringCloud基本Rest微服務(wù)工程搭建,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01

