Mysql下使用mybatis查询,报java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as j...

我们项目的持久层框架采用的的是Mybatis,今天有个项目一直报 java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp 的异常 ,从异常报错来看,是 0000-00-00 00:00:00无法转换为 java.sql.Timestamp的问题。查看相应的表,对应的日期类型默认值确实是0000-00-00 00:00:00,且mysql的时间类型定义时如果不指明为NULL,则默认为not null,产生一个默认值即'0000-00-00',于是查阅解决办法,有如如下解决方法:

方法1:

数据库连接url增加参数zeroDateTimeBehavior=convertToNull或者round,将默认的'0000-00-00'转换为其他值;

方法2:

定义时间类型时给出默认值,例如 date not null default '1970-00-00',(mysql的时间类型默认值必须从’1970-00-00‘开始)

方法3:

定义时间类型时默认为null

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天在使用MyBatis查找MySQL数据库的时候,出现了一个以前没有遇到过的错误,现在写出来,没准有谁看到这篇文...
    北方素素阅读 12,137评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,771评论 19 139
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 9,467评论 0 19
  • (一)端午节也可以想点别的 端午节站在日历里 和其他每一天并无二致 一样大小一样厚薄 尽管描红加粗也不过是薄薄一...
    静听旁白阅读 1,274评论 0 1
  • 在《重新定义“乙方”》的系列文章发表后,与很多朋友产生了共鸣。其中有位朋友发来求助,是关于“如何应对推卸责任给下属...
    雾风的幻想阅读 6,882评论 9 3