`

jdbc连接数据库去datetime 数据为0000:00:00 00:00:00 的处理

    博客分类:
  • jdbc
阅读更多
JAVA连接MySQL数据库,在操作值为0的timestamp类型时不能正确的处理,而是默认抛出一个异常,就是所见的:java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 7 to TIMESTAMP。这一问题在官方文档中有详细说明,详见如下链接:

http://bugs.mysql.com/bug.php?id=19274
http://dev.mysql.com/doc/refman/5.5/en/connector-j-installing-upgrading.html

在JDBC连接串中有一项属性:zeroDateTimeBehavior,可以用来配置出现这种情况时的处理策略,该属性有下列三个属性值:
l exception:默认值,即抛出SQL state [S1009]. Cannot convert value....的异常;
l convertToNull:将日期转换成NULL值;
l round:替换成最近的日期即0001-01-01;


因此对于这类异常,可以考虑通过修改连接串,附加zeroDateTimeBehavior=convertToNull属性的方式予以规避,例如:
jdbc:mysql://localhost:3306/mydbname?zeroDateTimeBehavior=convertToNull

   从另一个层面讲,这类异常的触发也与timestamp赋值的操作有关,如果能够在设计阶段和记录写入阶段做好逻辑判断,避免写入 '0000-00-00 00:00:00'这类值,那么也可以避免出现 Cannot convert value '0000-00-00 00:00:00' from column N to TIMESTAMP的错 误。
分享到:
评论

相关推荐

    postgreAdmin(pgAdmin)数据库驱动JAR和hibernate数据连接及其驱动

    postgreAdmin(pgAdmin)数据库驱动JAR和hibernate数据连接及其驱动

    基于Springboot SSM框架+Mysql的电子商务商城项目源码+项目说明(本科课程设计).zip

    通常,应该先处理基础数据,再处理所相关的数据,例如需要先处理商品数据,才可以处理订单数据,如果多种数据之间没有明显的关联,则应该先处理简单的,再处理较难的!则以上这些数据的处理顺序应该是:用户 > 收货...

    【分布式事务----LCN】LCN原理及使用方式.docx

    当需要回滚的时候就采用这些记录数据回滚数据库,目前锁实现依赖redis分布式锁控制。 该模式的特点: - 该模式同样对代码的嵌入性低。 - 该模式仅限于对支持SQL方式的模块支持。 - 该模式由于每次执行SQL之前...

    JSP高级编程(全)

    10.4 数据库连接缓冲池 10.5 JNDI 和RowSet 10.6 本章小结 第四部分 JSP 网络程序设计 第11 章 JSP 网络程序开发 11.1 配置服务器 11.2 SMTP 服务 11.3 FTP 服务 11.4 News 服务 11.5 Java Socket 11.6 Telnet 服务 ...

    JSP高级编程          

    10.4 数据库连接缓冲池 10.5 JNDI 和RowSet 10.6 本章小结 第四部分 JSP 网络程序设计 第11 章 JSP 网络程序开发 11.1 配置服务器 11.2 SMTP 服务 11.3 FTP 服务 11.4 News 服务 11.5 Java Socket 11.6 Telnet 服务 ...

    MySQL 5.1官方简体中文参考手册

    11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4...

    软件工程工资管理系统

    根据工资管理系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障引起的数据不一致。 3 概念结构设计 3.1设计方法和步骤 采用自底而上的设计方法。先自顶向下地进行需求分析,对工资管理...

    MySQL5.1参考手册官方简体中文版

    原始参考手册为英文版,与英文版参考手册相比,本翻译版可能不是最新的。 This translation was done by MySQL partner GreatLinux, Beijing, People's Republic of China. GreatLinux Inc. 北京万里开源软件有限...

    MySQL 5.1中文手冊

    11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4...

    mysql官方中文参考手册

    11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4...

    MYSQL中文手册

    11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型...

    MySQL 5.1参考手册中文版

    11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 ...

    MySQL 5.1参考手册

    原始参考手册为英文版,与英文版参考手册相比,本翻译版可能不是最新的。 目录 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 ...

    MySQL 5.1参考手册 (中文版)

    11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4...

    MySQL中文参考手册

    o 5.6 怎样处理没有提交/回卷(COMMIT / ROLLBACK) * 6 MySQL 存取权限系统 o 6.1 权限系统做什么 o 6.2 MySQL用户名和口令 o 6.3 与MySQL服务器连接 o 6.4 使你的口令安全 o 6.5 MySQL 提供的权限 o 6.6 ...

    mysql5.1中文手册

    DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和...

    MYSQL

    8.3.5 使用外键 8.4 创建并使用一个数据库 8.4.1 创建并选用一个数据库 8.4.2 创建一个数据库表 8.4.3 将数据装入数据库表 8.4.4 从一个数据库表检索信息 8.4.4.1 选择所有数据 8.4...

    MySQL中文参考手册.chm

    8.3.5 使用外键 8.4 创建并使用一个数据库 8.4.1 创建并选用一个数据库 8.4.2 创建一个数据库表 8.4.3 将数据装入数据库表 8.4.4 从一个数据库表检索信息 8.4.4.1 选择所有数据 ...

Global site tag (gtag.js) - Google Analytics