Mybatis 开发时遇到的问题 Sucha

Administrator
发布于 2020-07-23 / 1381 阅读 / 2 评论 / 0 点赞

Mybatis 开发时遇到的问题 Sucha

Mybatis 开发时遇到的问题 Sucha

1、Error attempting to get column 'create_time' from result set. Cause: java.sql.SQLException: Zero date value prohibited

  • 先说解决方案
    原来mysql连接配置:
jdbc:mysql://121.40.73.192:3306/smart_order?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&tinyInt1isBit=false&allowMultiQueries=true

需在最后加上:

&zeroDateTimeBehavior=convertToNull
  • 解释如下:

设置zeroDateTimeBehavior 属性,当遇到DATETIME值完全由0组成时,最终的有效值可以设置为,异常(exception),一个近似值(round),或将这个值转换为null(convertToNull)。
默认情况为exception,设置这个属性会抛出一个SQLException异常,其SQLSate码为S1009。

这个状态码在写存储过程处理异常时也可以用到。

  • convertToNull,返回null来替代0000-00-00这样的日期。
  • round,将日期转换为0001-01-01。
  • 因此,出现0000-00-00 属于一个无效日期,用convertToNull属性即可。

评论