MyBatis保存完整日期的解決方法


在用mybatis時,對mysql數據庫是datatime字段添加值是,發現添加成功后查看數據庫字段值是,只有年月日有值,時分秒則為0來表示的,更改為java.sql.date,time等也不行,如果將mybatis的映射xml的jdbcType="DATE"改為="TIME",會報異常: 

1 com.mysql.jdbc.MysqlDataTruncation: Data truncation:xxxxx

解決方法如下:

1 對於mybatis操作Date/Time/DateTime,總結如下:  
2 將pojo的屬性類型設置為java.sql.Date(或java.sql.Time, java.sql.Timestamp),此時會嚴格遵循這三種類型的語義。但此方法因存在前文中提到的性能問題,在JDK1.6以前的JDK版本中能少使用就少使用。  
3 如果你想在pojo中使用java.util.Date, 則要注意:  
4 完整的日期時間,要確保jdbcType為空,或為DATE,TIME以外的值  
5 只需要時間,要指定jdbcType=”TIME”  
6 只需要日期,要指定jdbcType=”DATE” 

於是將映射的XML文件里的,jdbcType="DATE"這段代碼清了就可以了。

 

參考:mybatis保存完整日期的方法


免責聲明!

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



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