您的位置:首页 > 数据库 > MySQL

mybatis解析日期时遭遇旧版本mysql日期默认值的问题

2016-01-28 20:05 615 查看
Caused by: java.sql.SQLException: Value '	131238331	13085682711970-01-01 00:00:001970-01-01 00:00:00 abc abc MUYYow276002760100CNY
2015-11-04
2049-12-31
1446566400
2524492800OLD0000-00-00 00:00:00NFD_CHECK_MODIFY10' can not be represented as java.sql.Date
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:959) ~[mysql-connector-java-5.1.37.jar:5.1.37]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) ~[mysql-connector-java-5.1.37.jar:5.1.37]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) ~[mysql-connector-java-5.1.37.jar:5.1.37]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:862) ~[mysql-connector-java-5.1.37.jar:5.1.37]
at com.mysql.jdbc.ResultSetRow.getDateFast(ResultSetRow.java:145) ~[mysql-connector-java-5.1.37.jar:5.1.37]
at com.mysql.jdbc.BufferRow.getDateFast(BufferRow.java:691) ~[mysql-connector-java-5.1.37.jar:5.1.37]
at com.mysql.jdbc.ResultSetImpl.getDate(ResultSetImpl.java:2015) ~[mysql-connector-java-5.1.37.jar:5.1.37]
at com.mysql.jdbc.ResultSetImpl.getDate(ResultSetImpl.java:1978) ~[mysql-connector-java-5.1.37.jar:5.1.37]
at com.mysql.jdbc.ResultSetImpl.getDate(ResultSetImpl.java:2034) ~[mysql-connector-java-5.1.37.jar:5.1.37]
at com.alibaba.druid.pool.DruidPooledResultSet.getDate(DruidPooledResultSet.java:348) ~[druid-1.0.14.jar:1.0.14]
at org.apache.ibatis.type.DateOnlyTypeHandler.getNullableResult(DateOnlyTypeHandler.java:38) ~[mybatis-3.2.8.jar:3.2.8]
at org.apache.ibatis.type.DateOnlyTypeHandler.getNullableResult(DateOnlyTypeHandler.java:27) ~[mybatis-3.2.8.jar:3.2.8]
at org.apache.ibatis.type.BaseTypeHandler.getResult(BaseTypeHandler.java:55) ~[mybatis-3.2.8.jar:3.2.8]


mysql解析旧版本的日期默认值时报错,导致整个行解析报错。解决方法为,在jdbc连接的url后面追加mysql的连接参数:

jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true


参考:http://blog.csdn.net/testcs_dn/article/details/50015665
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息