工業網際網路後臺開發

魚塘一條大魚魚魚yyy發表於2020-10-16
  • Date型別

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date time;

@JsonFormat 預設是標準時區的時間,多出現少8小時的情況
使用時,按需求加上時區 北京時間 東八區 timezone=”GMT+8”
作用:後臺的時間 格式化 傳送到前臺

@DateTimeFormat 接受前臺的時間格式 傳到後臺的格式
  • int和Integer兩種型別區別

int 型別,在預設情況下不賦值為0,執行到mybatis的更新語句時,被當做數字0,而非null,

仔細想想Integer和int 的區別,integer的預設值為null,即Integer可以區分出未賦值和值為0的區別,int則無法表達出未賦值的情況,

我又把之前實體類中的grade 型別改為了Integer成功實現了自己想要的。

總結:在實體類中儘量使用Integer修飾,Integer可以區分出未賦值和值為0的區別,我們大部分做判斷都是以“”null“”去判斷的,特在此做個筆記。

  • mybatis檔案中jdbctype=date說明

一、簡單總結說明

 jdbcType=DATE,簡言之就是將傳遞到mybatis的sql對映檔案
 mapper.xml裡的對應欄位時間格式, 轉換成和資料庫欄位相同型別的格式。

二、例子演示

  1. 資料查詢時間段對應的欄位:online_date 型別date
    這裡寫圖片描述
  2. 運用介面呼叫工具進行呼叫
    這裡寫圖片描述
  3. springboot Controller請求引數對映:接收前臺的yyyy-MM-dd hh:mm:ss格式的字串時間轉成Mon Jun 25 19:40:19 CST 2018格式時間
    這裡寫圖片描述

  4. mapper.xml對應的sql對映配置,如果不加jdbcType=DATE的話,mybatis查詢資料庫的sql對應的時間將是Mon Jun 25 19:40:19 CST 2018格式,造成永遠查不到結果這裡寫圖片描述

  •  mybatis兩種方式遍歷

引用:mybatis之foreach用法

 

 

 

相關文章