java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
错误原因:数据库表里面有一个datetime类型的字段的值为0000-00-00 00:00:00,而MySQL的datetime类型支持的范围为'1000-01-01'到'9999-12-31',所以报错了。去看看0000-00-00 00:00:00是怎么存进去的就行了。
Unknown character set: 'utf8mb4'
这是mysql驱动的问题,用mysql-connector-java5.1.6这个驱动包就没报错了。
HTTP Status 500 - Request processing failed; nested exception is com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1185054 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.
查询数据库: show global variables like '%max_allowed_packet%';
Paste_Image.png
默认最大值为1048576,也就是1024 * 1024 ,也就是所谓的1MB
现在我们将长度调大一些:
set global max_allowed_packet = 4 x 1024 x 1024; (在命令行中,x需要用星号表示,这里markdown编辑器显示不出来,所以用x代替)
这样就行了。可是这样还有问题,就是mysql重启以后就又回到原来的配置了,至于解决方法我还在摸索中。