`

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的错 误。
分享到:
评论

相关推荐

    3小时学会Mysql and JDBC数据库

    * JDBC 的基本操作:加载数据库驱动、连接数据库、创建 Statement 对象、执行 SQL 语句、处理结果集等。 四、数据库设计 * 数据库设计是指根据具体的业务需求设计和创建数据库的过程。 * 数据库设计的步骤:需求...

    3、jsp jdbc 数据库管理器中的操作1

    2. **JDBC连接数据库**: - 使用Java的JDBC API,可以连接到数据库并执行SQL语句。 - 首先,需要加载数据库驱动(如`Class.forName("com.mysql.jdbc.Driver")`),然后通过`DriverManager.getConnection()`建立...

    flex连接数据库的三种方法

    根据给定的文件信息,以下是关于“Flex连接数据库的三种方法”的详细知识点: ### Flex连接数据库的方法概述 Flex是Adobe公司推出的一种用于构建高性能、高交互性的RIA(Rich Internet Applications)的应用程序...

    WebMagic抓取CSDN博客通过JDBC保存到数据库中去

    5. **JDBC连接数据库**: - **数据库驱动**:确保引入了对应数据库的JDBC驱动,例如MySQL的`mysql-connector-java`库。 - **建立连接**:使用`DriverManager.getConnection()`方法创建数据库连接。 - **预编译SQL...

    JAVA跨数据库导出导入数据:SQL2000 导入到 MYSQL(附件)

    在IT行业中,数据库的数据迁移是一项常见的任务,尤其是在不同的数据库系统之间。本话题聚焦于如何使用JAVA来实现SQL Server 2000中的数据导出并导入到MySQL的过程。这是一个涉及多平台兼容性和数据转换的问题,通常...

    从sqlserver数据库到MYSQL数据库转换操作指南

    从 SQL Server 数据库到 MySQL 数据库的转换操作需要经过多个步骤,包括准备工作、连接数据库、数据类型映射、数据转换、数据验证等。通过使用 Kettle,我们可以快速地完成数据库转换,提高开发效率和数据质量。

    用JAVA将数据库导入csv程序

    开发者需要编写SQL查询来提取所需的数据,然后通过JDBC的ResultSet对象来遍历并处理这些结果。 程序的流程可能如下: 1. **连接数据库**:使用JDBC的`DriverManager.getConnection()`方法,提供数据库URL、用户名...

    Mysql_JDBC.rar

    - 数据导入导出:支持从文件导入数据到数据库,或将数据库数据导出为文件 - 数据同步:比较不同数据库或表之间的差异,并进行同步 - 数据备份:定期备份数据库,确保数据安全 通过学习上述内容,开发者可以熟练...

    jdbc连接程序实现不同数据库数据的迁移

    本篇将详细讲解如何使用JDBC连接程序来实现不同数据库间的数据迁移,以SqlServer到Oracle为例。 首先,JDBC(Java Database Connectivity)是Java平台中用于与各种数据库交互的一组接口和类。它提供了标准化的方式...

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

    本主题主要聚焦于如何使用pgAdmin数据库驱动JAR文件以及与Hibernate框架进行数据连接。 首先,我们来了解`postgreAdmin`(pgAdmin)。pgAdmin是一款专为PostgreSQL设计的图形界面管理工具,它提供了丰富的功能,...

    JAVA实现跨数据库服务器数据导出导入功能

    1. **JDBC连接**: 数据库操作的第一步是建立与服务器的连接。JAVA通过Java Database Connectivity (JDBC) API来实现这一点。对于SQL Server,我们可以使用Microsoft的JDBC驱动(mssql-jdbc),对于MySQL,我们可以...

    JDBC.rar_MYSQL_MYSQL  数据类型_jdbc_jdbc mysql

    在IT领域,尤其是在数据库编程中,Java Database Connectivity (JDBC) 是一个至关重要的接口,它允许Java应用程序连接到各种类型的数据库。"JDBC.rar_MYSQL_MYSQL 数据类型_jdbc_jdbc mysql" 这个压缩包文件显然聚焦...

    exe4j+sqljdbc4.jar+ojdbc4.jar+sql字符串与datetime相互转换

    以上内容详尽解释了标题和描述中提及的技术点,包括Java应用打包成.exe、使用JDBC连接不同数据库以及处理日期时间的转换。在实际开发中,掌握这些技能对于构建跨平台的Java应用和有效地与数据库交互至关重要。

    第4章 SQL与JDBC.ppt

    2. 获取数据库连接:使用DriverManager.getConnection()方法连接数据库。 3. 执行SQL语句:通过Statement或PreparedStatement对象执行DML、DDL或DCL语句。 4. 获取查询结果:对于查询操作,使用ResultSet对象获取和...

    clickhouse-jdbc-master.zip

    - JDBC(Java Database Connectivity)是Java中用于连接数据库的标准API,使得Java应用程序可以与各种类型的数据库进行交互。 - "clickhouse-jdbc-master"是Clickhouse的JDBC驱动源码,它实现了JDBC规范,让Java...

    数据库汽车销售系统sql

    - 构建Web数据库体系架构:利用Tomcat作为Web服务器,Eclipse作为开发平台,创建基于JSP的前端应用程序,并通过JDBC连接后端数据库。最终目标是在浏览器上显示连接成功的页面。 #### 二、实验内容 1. **总体功能...

    Flex连接数据库三种方法.docx

    - 实现数据库查询逻辑,例如使用JDBC连接SQL Server,执行SQL语句,遍历结果集,将每条记录转换为`NoticeInfo`对象并添加到`ArrayList`中。 - 返回`ArrayList`或`NoticeInfo`数组给Flex客户端。如果返回`ArrayList...

    [JSP暑假实训] 三.MySQL数据库基本操作及Servlet网站连接显示数据库信息1

    4. **JDBC连接数据库基础** - Java通过Java Database Connectivity (JDBC) API与MySQL进行交互。首先需要添加MySQL JDBC驱动到项目类路径中。 - 连接数据库的步骤: - 加载驱动:`Class.forName(...

    flex_连接数据库

    ### Flex与Java联合连接数据库详解 #### 一、引言 在现代Web开发中,Flex是一种流行的客户端技术,用于构建富互联网应用(RIA)。然而,Flex本身并不具备直接访问数据库的功能,它需要通过中间层服务如HTTP Service...

Global site tag (gtag.js) - Google Analytics