刚刚调试接口,sql 查询时 遇到一个问题,报错
“java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp”
其原因是数据库字段存在这样的值
百度了下:
这是因为 “0000-00-00 00:00:00”在mysql中是作为一个特殊值存在的,但是在Java中, java.sql.Date 会被视为 不合法的值,被JVM认为格式不正确。
解决办法:
在jdbc的url加上 zeroDateTimeBehavior参数:
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文件中忘记进行特殊符号的转译了,
需要把后面的;修噶为&修改为
useUnicode=true&characterEncoding=UTF-8 &zeroDateTimeBehavior=convertToNull
有以下几类字符要进行转义替换:
< | < | 小于号 |
> | > | 大于号 |
& | & | 和 |
' | ' | 单引号 |
" | " | 双引号 |
问题解决
posted on 2014-12-30 11:37
藤本蔷薇 阅读(211)
评论(0) 编辑 收藏