国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot報錯java.time.LocalDateTime cannot be cast to java.sql.Timestamp] with root cause

這篇具有很好參考價值的文章主要介紹了SpringBoot報錯java.time.LocalDateTime cannot be cast to java.sql.Timestamp] with root cause。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

最近在做系統(tǒng)升級,原本的版本為SpringBoot2.1.8RELEASE,升級后版本為SpringBoot2.7.0

升級后原代碼報錯java.time.LocalDateTime cannot be cast to java.sql.Timestamp] with root cause。

經(jīng)檢查,原代碼部分數(shù)據(jù)使用Map接收數(shù)據(jù)庫返回數(shù)據(jù),使用Map.get()取出Object對象后強制轉(zhuǎn)化為了Date類型。

Date CreateTime = (Date)itemMap.get("CreateTime");

升級SpringBoot之前該代碼運行無誤,升級后報錯。原因是MySQL驅(qū)動將數(shù)據(jù)庫中datetime類型識別為了Timestamp類型,而Timestamp無法轉(zhuǎn)化為LocalDateTime。

由于此處的最終需求是將CreateTime轉(zhuǎn)化為String類型,比對Timestamp和LocalDateTime后發(fā)現(xiàn),此處的強制類型轉(zhuǎn)化僅將Timestamp中的‘T’替換為了空格,因此嘗試使用String的replace方法將‘T’替換為空格。

// 2019-12-31T14:00:40 ==> 2019-12-31 14:00:40
CreateTime = CreateTime.replace('T',' ');

但是這種方法在時間為00時會出現(xiàn)bug,例如2019-12-31 14:01:00,在取出字符串時會變?yōu)?strong>2019-12-31 14:01,從而導致位數(shù)缺失。

因此更建議使用LocalDateTime來格式化輸出時間。文章來源地址http://www.zghlxwxcb.cn/news/detail-404088.html

String pattern = "yyyy-MM-dd HH:mm:ss";
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(pattern);
LocalDateTime time = (LocalDateTime)map.get("CreateTime");
String CreateTime = time.format(dateTimeFormatter);

到了這里,關于SpringBoot報錯java.time.LocalDateTime cannot be cast to java.sql.Timestamp] with root cause的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Tomcat報錯:cannot be cast to class java.util.Map (java.io.ObjectStreamClass$Caches$1 and java.util.Map

    Tomcat報錯:cannot be cast to class java.util.Map (java.io.ObjectStreamClass$Caches$1 and java.util.Map

    啟動tomcat時會報如下錯誤,原因是tomcat與jdk的版本不匹配。當然要因情況而異,給大家一個解決方法的思路 這是從tomcat官方文檔中找到對應的jdk版本 后記 并不是tomcat與jdk版本匹配就一定不會問題,產(chǎn)生這個問題是我啟動activiti-app時發(fā)生的,當時我的tomcat是9,JDK是11后來又換

    2024年01月21日
    瀏覽(17)
  • java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to*****

    java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to*****

    原報錯代碼寫法: 報錯如下: java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.* . 通過調(diào)試,發(fā)現(xiàn)是LinkedHashMap類型,而不是實體類 解決方法如下: 引入: import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; 調(diào)試: 問題解決。

    2024年02月04日
    瀏覽(24)
  • java.lang.String cannot be cast to java.lang.Integer異常

    在java中無法直接將String類型強制轉(zhuǎn)換為Integer類型。 Java中的String和Integer是兩種不同的數(shù)據(jù)類型,它們之間不能直接進行強制類型轉(zhuǎn)換。這主要是因為它們在底層的表示方式和數(shù)據(jù)結(jié)構(gòu)上有很大的差別。 String是一個不可變的字符序列,用于表示文本數(shù)據(jù)。它是通過字符數(shù)組來

    2024年02月05日
    瀏覽(17)
  • java.util.LinkedHashMap cannot be cast to com.alibaba.fastjson.JSONObject

    接收postman 發(fā)送的請求,請求參數(shù)是 JSONObject 格式,需要獲取其中的info對象 public void xxxxxx(@RequestBody JSONObject map) { // 先將info轉(zhuǎn)成json格式的字符串,再轉(zhuǎn)為JSON對象 JSONObject info = JSON.parseObject(JSON.toJSONString(map.get(“info”))); }

    2024年02月14日
    瀏覽(14)
  • 【報錯】Cannot deserialize value of type `java.time.LocalDateTime` from String

    【報錯】Cannot deserialize value of type `java.time.LocalDateTime` from String

    接口測試中報錯 這個錯誤是因為無法將字符串\\\"2023-10-10 17:23:35\\\"反序列化為java.time.LocalDateTime類型的對象。在Java中,LocalDateTime類不支持直接從字符串進行反序列化的操作。 在實體類的LocalDateTime 類型的字段上加@JsonFormat注解即可

    2024年02月03日
    瀏覽(53)
  • java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType解決方案

    異常:java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType 類型轉(zhuǎn)換異常 主要是因為泛型使用不規(guī)范導致的錯誤,在MVP抽取中,我們需要懂得許多關聯(lián)在一起的流程! 意思是Class類型不能轉(zhuǎn)換成ParameterizedType類型,多出現(xiàn)于數(shù)據(jù)解析,泛型使用。先寫的泛型,導致傳回來的是

    2024年02月15日
    瀏覽(96)
  • 全網(wǎng)詳細解決java.lang.ClassCastException: xxx類型 cannot be cast to xxx類型

    xxx類型 可以為如下類型: 我們自定義的類: Student 類 Project 類 Person 類 …等等 基本變量的包裝類: int 的包裝類 Integer long 的包裝類 Long float 的包裝類 Float …等等 字符串 String 類型 今天在寫如下代碼:

    2024年02月07日
    瀏覽(33)
  • 使用ResponseBodyAdvice返回值為String出現(xiàn)cannot be cast to java.lang.String異常

    使用ResponseBodyAdvice返回值為String出現(xiàn)cannot be cast to java.lang.String異常

    背景 由于項目中為了全局返回統(tǒng)一的JSON格式,使用ResponseBodyAdvice進行攔截,攔截的時候會將返回的信息統(tǒng)一一個對象返回到前端。但是有的同事將一個String的響應對象返回,結(jié)果報錯 com.example.demoweb.config.ApiResponse cannot be cast to java.lang.String ResponseBodyAdvice 攔截器實現(xiàn) ServletR

    2024年02月13日
    瀏覽(21)
  • java.lang.ClassCastException: class java.util.ArrayList cannot be cast to class com.github.pagehelpe

    可能是? ? ?Maven的版本? ?和? ? pagehelper分頁插件的版本不對 對應Mave3以下的版本

    2024年02月03日
    瀏覽(22)
  • 已解決java.lang.String cannot be cast to java.lang.Integer異常的正確解決方法,親測有效!??!

    已解決java.lang.String cannot be cast to java.lang.Integer異常的正確解決方法,親測有效!??! 開發(fā)中經(jīng)常會遇到java.lang.String cannot be cast to java.lang.Integer異常,記錄下我怎么解決的。 這個錯誤是因為你試圖將一個字符串對象轉(zhuǎn)換為整數(shù)對象,但是類型不匹配。 下滑查看解決方法 在

    2023年04月08日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包