剛剛調(diào)試接口,sql 查詢時 遇到一個問題,報錯
“java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp”
其原因是數(shù)據(jù)庫字段存在這樣的值

百度了下:
這是因?yàn)?“0000-00-00 00:00:00”在mysql中是作為一個特殊值存在的,但是在Java中, java.sql.Date 會被視為 不合法的值,被JVM認(rèn)為格式不正確。
解決辦法:
在jdbc的url加上 zeroDateTimeBehavior參數(shù):
datasource.url=jdbc:mysql://localhost:3306/pe?useUnicode=true&characterEncoding=gbk &zeroDateTimeBehavior=convertToNull
完了過后,報異常
The reference to entity "characterEncoding" must end with the ';' delimiter
其原因可能是在Properties文件或者xml文件中忘記進(jìn)行特殊符號的轉(zhuǎn)譯了,
需要把后面的;修噶為&修改為
useUnicode=true&characterEncoding=UTF-8 &zeroDateTimeBehavior=convertToNull
有以下幾類字符要進(jìn)行轉(zhuǎn)義替換:
< | < | 小于號 |
> | > | 大于號 |
& | & | 和 |
' | ' | 單引號 |
" | " | 雙引號 |
問題解決
posted on 2014-12-30 11:37
藤本薔薇 閱讀(219)
評論(0) 編輯 收藏