解决提示Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp;的方法

Mysql在进行查询时报了一个

Value ‘0000-00-00 00:00:00‘ can not be represented as java.sql.Timestamp;

这样的错误,这是因为在默认插入一个类型为timestamp的时间时它会将‘0000-00-00 00:00:00‘插入,但是在数据库定义时又因为设计是非空的timestamp类型的时间,所以查询时就会出错,并且mysql的时间范围是:‘1000-01-01 00:00:00‘ 到 ‘9999-12-31 23:59:59‘这个时间段,所以会报错,目前的解决办法是在jdbc连接文件中添加一句:

&zeroDateTimeBehavior=convertToNull

url=jdbc:mysql://localhost:3306/seckill?useUnicode=true&characterEncoding=utf8&&zeroDateTimeBehavior=convertToNull

目前这个方法还是有用的,但是到了后边不知道会不会会有新的问题出现。

解决提示Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp;的方法

时间: 2024-08-04 20:47:24

解决提示Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp;的方法的相关文章

mysql解决Value ‘0000-00-00 00:00:00’ can not be represented as java.sql.Timestamp

同步发布:http://www.yuanrengu.com/index.php/mysqlsolvetimestamp.html 在使用mysql时,如果数据库中的字段类型是timestamp,默认为0000-00-00,会发生异常:Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp. 解决办法如下: 给数据库的jdbc.url加上zeroDateTimeBehavior参数,如下: jdbc.url=

Caused by: java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp

错误信息如下: Caused by: java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp 原因如下:是因为数据表中字段类型与对象中的属性类型不一致.比如在我的数据表中是datetime类型,正常来说,对象中应该是Date类型,但是本次在对象中却是String类型. 解决办法:(1)将datetime类型修改为varchar类型,即可解决问题;(2)将Java

MySQL 关于 Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestam

处理Sql查询遇到这样一个问题(数据库是MySQL),有个字段定义类型是datetime,且非空无默认值, 通过PHPMyAdmin界面填充测试数据的时候没有理会这个字段,看到个小警告,插入成功, 但是在取数据的时候出现这样一个错误: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp JAVA连接MySQL数据库,在操作值为0的timestamp类型时不能正确的处理,而是默认抛出一个异常,就是所见的:

解决Apache CXF 不支持传递java.sql.Timestamp和java.util.HashMap类型问题

在项目中使用Apache开源的Services Framework CXF来发布WebService,CXF能够很简洁与Spring Framework 集成在一起,在发布WebService的过程中,发布的接口的入参有些类型支持不是很好,比如Timestamp和Map.这个时候我们就需要编写一些适配来实行类型转换. TimestampAdapter.java package com.loongtao.general.crawler.webservice.utils; import java.s

Mysql-提示java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 7 to TIMESTAMP.

在Mysql数据库中使用DATETIME类型来存储时间,使用JDBC中读取这个字段的时候,应该使用 ResultSet.getTimestamp(),这样会得到一个java.sql.Timestamp类型的数据.在这里既不能使用 ResultSet.getDate(),也不能使用ResultSet.getTime(),因为前者不包括time数据,后者不包括date数据. 但是在使用ResultSet.getTimestamp()时也不是完全安全的,例如,当数据库中的TIMESTAMP类型的字段值

连接mysql时提示java.sql.SQLException: Access denied for user 'root'@'DESKTOP-N2B2D9A' (using password: YES)

用root连接mysql时提示:访问被拒绝 检查一下mysql server是否开启,发现后台在运行着..  然后查了一下mysql的用户表,发现root只能运行使用本地ip(localhost或者127.0.0.1)进行连接 解决方法:新开一个权限GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'jeffw' WITH GRANT OPTION; 然后查询一下:select * from user; 新开的root的已经开启权限,

解决警告: Setting property 'source' to 'org.eclipse.jst.jee.server_:' did not find a matching property.的方法

今天第一次搭建struts2框架,跟着网上的教程导入对应的jar包之后就开始写登录的jsp页面,但是运行时出现了问题, 浏览器显示"The requested resource is not available."的提示. 于是我查看了Console那里,发现有这么一条警告 "Setting property 'source' to 'org.eclipse.jst.jee.server struts2(我的项目名):' did not find a matching pro

解决MySql报错:1130 - Host 'xxx' is not allowed to connect to this MySQL server的方法

发现问题 使用Navicat连接MySql数据库时,未能成功,提示信息如下图: 这个错误提示已经很明确了,"不允许主机'desktop-teat9ob'连接到此mysql服务器",知道问题所在就好解决了. 解决办法 我们远程联接到MySql服务器,打开服务器本地Navicat软件,在查询编辑器中执行下面的SQL语句 #查询允许连接的主机及用户信息 select Host,User,Password from mysql.user; 结果如下图: 从结果中可以看到,MySql只允许使用r

出现java.sql.SQLException: No suitable driver的几种解决办法

今天在用C3p0连接MySql数据库 这个时候出现了上面的错误, 一般来说这种错误有3个方向解决 一般都是db的配置的问题 ,一定要小心DB 的配置 八月 19, 2017 8:30:46 下午 com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask run警告: [email protected]95 -- Acquisition Attempt Failed!!! Clearing pending acquires. While t