错误信息如下:
五月 27, 2020 2:58:41 下午 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [default] in context with path [/works] threw exception
java.lang.RuntimeException: java.lang.StackOverflowError
。。。
Caused by: java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
。。。
查找原因是:
数据库返回日期字段的值为:0000-00-00 00:00:00,导致出错;
解决办法:
在jdbcUrl地址后面跟一个属性值:
jdbcUrl:'jdbc:mysql://127.0.0.1:3306/userDb?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull',
1:zeroDateTimeBehavior=round 返回:0001-01-01 00:00:00.0
2:zeroDateTimeBehavior=convertToNull 返回: null
我选择第二种完美解决问题。