<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.9</version>
</dependency>
我使用的druid1.0.9做为的数据库连接池。
在查询数据库的时候会报错:
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.dao.InvalidDataAccessApiUsageException: Error attempting to get column 'user_birthday' from result set. Cause: java.sql.SQLFeatureNotSupportedException
; null] with root cause
java.sql.SQLFeatureNotSupportedException: null
原因其实是在druid,他无法做这个转换。
解决办法
将druid的版本升级到1.1.21版本:
其他问题
我的数据库User表有两个timestamp字段,只有一个可以设置默认curr_timestamp,另外一个默认变成了全0(0000-00-00 00:00:00),这样的字段在查询的时候会报一个错误:
com.mysql.cj.exceptions.DataReadException: Zero date value prohibited
com.mysql.cj.exceptions.DataReadException: Zero date value prohibited
这个问题的解决办法很简单,就是在url上添加上对null时间的转化处理:zeroDateTimeBehavior=convertToNull
?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull
useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull