【明哥報錯簿】之 mybatis異常invalid comparison: java.util.Date and java.lang.String


背景:數據庫為postgresql,表字段屬性為timestamp格式

原因是mybatis 3.3.0中對於時間參數進行比較時的一個bug. 如果拿傳入的時間類型參數與空字符串''進行對比判斷則會引發異常. 所以在上面的代碼中去該該判斷, 只保留非空判斷就正常了

--------------------------------------------之前的mapper里面進行了非null和非空驗證,要去掉非空驗證!

前台jsp傳入后台的時間為string,在service里將string轉為timestamp,

----------------------------------------------------------------------------------------------------------------------------------------------------------------

在mapper里面提取可以用date或者timestamp——#{date,jdbcType=DATE/TIMESTAMP}

查詢出的數據在resultMap里進行映射,可以用string的VARCHAR映射

----------------------------------------------------------------------------------------------------------------------------------

實體類也用string定義時間

 
----------返回前台的string進行格式化顯示----------------
 
---------------------------------------------
 
 插入時:
 
service里面:
 
 
在model實體類里面deliverdate和insdate可以定義為string或者Date,這個不重要,根據jsp的回顯需要選擇,主要的是在service進行map的put時,要轉換為timestamp格式,因為數據庫postgresql里面的是表字段是timestamp格式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM