基于javaMybatis存進時間戳的問題
java Mybatis存進時間戳
封裝了一個實體類,里面有個字段 Integer createTime。
要利用這個實體類將一個時間戳存進數(shù)據(jù)庫中。
剛開始的時候出現(xiàn)錯誤:
Data truncation: Incorrect datetime value: '123456789' for column 'create_time' at row 1
是存進數(shù)據(jù)庫的時候出現(xiàn)了問題,個人理解應該是Integer類型和數(shù)據(jù)庫中的Timestamp類型不匹配。
之后把封裝類里createTime的類型變成了Timestamp,但是由于我是用Map<String, Object>傳過來的參數(shù),取出來的值是Object類型,轉(zhuǎn)換成Timestamp一直出錯(可能是我知道的方法不夠),于是我又把createTime的封裝類變成了Date類型。代碼大概如下
Long createTime = Long.parseLong(param.get("CreateTime").toString()); //先用Long接收傳過來的參數(shù)
Member member = new Member(); //實例化一個實體類
member.setCreateTime(new Date(createTime)); //因為封裝類里createTime是Date類型,直接new一個日期,只要把Long類型的數(shù)值放進去就可以
這樣,將member用Mybatis插入數(shù)據(jù)庫就不會出現(xiàn)問題了。
Mybatis處理相關(guān)時間戳格式的數(shù)據(jù)
1、程序中直接寫SQL語句時:
1)如果插入的是當前時間戳,可以在SQL中直接寫SYSTIMESTAMP關(guān)鍵字。
2)如果插入的是前臺送上來的時間,可以在SQL中使用Oracle的函數(shù)進行轉(zhuǎn)換to_date或to_timestamp,
to_timestamp(string, fmt)
fmt可以為空,為空時,string必須符合NLS_TIMESTAMP_FORMAT格式,即 'YYYY-MM-DD HH:MI:SS.FF'
to_date只保存到日期,to_timestamp可以保存到時分秒
2、通過Mybatis進行映射時
如果Entity中定義的類型為Timestamp, resultMap中定義的javaType=“java.sql.Timestamp”, SQL語句中定義的jdbcType=TIMESTAMP
如果Entity中定義的類型為String,resultMap中定義的javaType="java.lang.String",SQL語句中需要對參數(shù)進行to_timestamp轉(zhuǎn)換,jdbcType=TIMESTAMP
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java使用跳轉(zhuǎn)結(jié)構(gòu)實現(xiàn)隊列和棧流程詳解
這篇文章主要介紹了Java使用跳轉(zhuǎn)結(jié)構(gòu)實現(xiàn)隊列和棧流程,連續(xù)結(jié)構(gòu)和跳轉(zhuǎn)結(jié)構(gòu)是數(shù)據(jù)結(jié)構(gòu)中常見的兩種基本數(shù)據(jù)結(jié)構(gòu),而我們本次的主角棧和隊列都 既可以使用使用跳轉(zhuǎn)結(jié)構(gòu)實現(xiàn)也可以使用連續(xù)結(jié)構(gòu)實現(xiàn)2023-04-04
Mybatis order by 動態(tài)傳參出現(xiàn)的問題及解決方法
今天,我正在愉快地CRUD,突然發(fā)現(xiàn)出現(xiàn)一個Bug,我們來看看是怎么回事吧!接下來通過本文給大家介紹Mybatis order by 動態(tài)傳參出現(xiàn)的一個小bug,需要的朋友可以參考下2021-07-07
java中實現(xiàn)遞歸計算二進制表示中1的個數(shù)
這是一個很有意思的問題,是在面試中特別容易被問到的問題之一,解決這個問題第一想法肯定是一位一位的去判斷,是1計數(shù)器+1,否則不操作,跳到下一位,十分容易,編程初學者就可以做得到!2015-05-05
Mybatis中兼容多數(shù)據(jù)源的databaseId(databaseIdProvider)的簡單使用方法
本文主要介紹了Mybatis中兼容多數(shù)據(jù)源的databaseId(databaseIdProvider)的簡單使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-07-07
SpringBoot整合Mybatis自定義攔截器不起作用的處理方案
這篇文章主要介紹了SpringBoot整合Mybatis自定義攔截器不起作用的處理方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
阿里Sentinel支持Spring Cloud Gateway的實現(xiàn)
這篇文章主要介紹了阿里Sentinel支持Spring Cloud Gateway的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04
Nacos1.4.0 Windows10單機模式啟動和集群啟動過程解析
這篇文章主要介紹了Nacos1.4.0 Windows10單機模式啟動和集群啟動,第一次使用nacos,廢話不多說,記錄下自己啟動Nacos遇到的坑,感興趣的朋友跟隨小編一起看看吧2023-10-10

