Java关于中查询数据时,报错java.lang.IllegalArgumentException: HOUR_OF_DAY: 0 -> 1的问题
Java关于中查询数据时,报错 Cause: java.lang.IllegalArgumentException: HOUR_OF_DAY: 0 -> 1的问题
1、报错
在mysql中,表数据中有生日字段(datetime类型),且日期为1948-05-01 00:00:00,java中用Date对象接收。在查询数据时,报错java.sql.SQLException: HOUR_OF_DAY: 0 -> 1,但将日期修改为其他则正常。
看网上有人说将severTimezone设置为,Asia/Shanghai,检查发现驱动连接字符串时区severTimezone已经设置:&serverTimezone=Asia/Shanghai,即上海时区,但是还是会有问题
报错如下:
nested exception is org.apache.ibatis.executor.result.ResultMapException: Error attempting to get column 'risk_person_birthday' from result set. Cause: java.lang.IllegalArgumentException: HOUR_OF_DAY: 0 -> 1
2、问题
因为采用jdbc6以上的版本,在查询封装数据的时候偶尔回出现HOUR_OF_DAY: 0 -> 1,意思是天数没有等于0的,日期错误;
3、解决方案
1)修改mysql 配置文件
方法一:通过mysql命令行模式下动态修改
查看mysql当前时间,当前时区
> select curtime(); #或select now()也可以
+-----------+
| curtime() |
+-----------+
| 15:18:10 |
+-----------+
> show variables like "%time_zone%";
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | CST |
| time_zone | SYSTEM |
+------------------+--------+
2 rows in set (0.00 sec)
#time_zone说明mysql使用system的时区,system_time_zone说明system使用CST时区
修改时区
> set global time_zone = '+8:00'; ##修改mysql全局时区为北京时间,即我们所在的东8区
> set time_zone = '+8:00'; ##修改当前会话时区
> flush privileges; #立即生效
方法二:通过修改my.cnf配置文件来修改时区
# vim /etc/my.cnf ##在[mysqld]区域中加上
default-time_zone = '+8:00'
# /etc/init.d/mysqld restart ##重启mysql使新时区生效
2)修改连接字符串参数serverTimezone
将serverTimezone设置为GMT%2B8,(GMT为格林尼治标准时间,即本初子午线的时间,GMT%2B8表示GMT加上8小时 就是北京时间)
Java关于中查询数据时,报错java.lang.IllegalArgumentException: HOUR_OF_DAY: 0 -> 1的问题相关推荐
- 【错误记录】IntelliJ IDEA 中 Java 代码中的中文注释报错 ( Menu / File / Settings / Editor / File Encodings 中修改工程编码 )
文章目录 一.报错信息 二.解决方案 一.报错信息 在 IntelliJ IDEA 中 , 出现中文注释报错 ; Y:\002_WorkSpace\003_IDEA\Groovy_Demo\src\m ...
- ecplice中class.forname一直报错_A6v5.1升级A6v7.0报错:调用Java代码
一 背景 在升级7.0过程中,针对以前SQL2000数据库(主要是以前U3升级上来的账套)会出现java调用失败的情况,导致老版本的账套无法正常升级到最新的版本. 错误提示:[com.aisino.a ...
- java 导出excel 大数据量 报错_java导出excel
上面导出PDF和EXCEL的问题是图片路径出错!!! 数据库中存存的图片路径是"../dishpic/722f464f-3883-42aa-901f-21706da9c582.png&quo ...
- ssh根据姓名查询的时候报错java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based!
错误如下: java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based! at org.hibe ...
- ssh根据姓名查询的时候报错java.lang.IndexOutOfBoundsException: Remember that
错误如下: java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based! at org.hibe ...
- jdk 1.8 java.policy,JDK1.8 导致系统报错:java.security.InvalidKeyException:illegal Key Size
在使用JCE加密时,我们有时候会遇到这样的Exception: java.security.InvalidKeyException:illegal Key Size 要解决这个报错,首先,我们需要知道 ...
- Exception in thread “main“ java.lang.IllegalArgumentException: HOUR_OF_DAY: 0 -> 1
解决这个问题之前先了解一个已经废弃多年的常识 我在mysql数据库中存入了一个人的生日 日期为1986-05-04 ,我在查询的时候使用的是java.util.Date进行映射到实体类. 但是根据上面 ...
- java中 implements Serializable时 报错 could not find class file 处理办法
这是因为找不到类文件, 在构件环境的时候编译发生错误.这是时候需要从新构件一次就行了 1 选择项目 2 project>>build project 就可以了
- ssm mysql 插入date 数据_SSM中插入数据没有报错,但是数据库没有值?报错-问答-阿里云开发者社区-阿里云...
mybatis默认开启事务不会自动提交,只有调用了commit才会提交事务.你这种情况明显是事务成功执行了,而且自增ID也已生效,但事务本身没有提交,请调用mybatis的commit方法提交事务! ...
- java mysql报表T加1_MySQL报错: java.sql.SQLException: Column count doesn't match value count at row 1...
项目使用了Spring和MyBatis,在往mysql数据库里插入数据时报错如下: org.springframework.jdbc.BadSqlGrammarException: ### Error ...
最新文章
- LeetCode Max Consecutive Ones
- Java开发环境!java基础知识点总结
- FtpWebRequest.UsePassive属性:设置FTP工作模式
- Python 第三方模块之 matplotlib - 绘图库
- 该错误是如何发生的? Git一分为二进行营救!
- 2013年大数据行业应用展望报告
- 代理服务器和反向代理服务器
- 下行期的资本,正在追逐「猫品牌」
- oracle嵌套case when,case when 中是否可以在嵌套一个case when ?
- jquery json string conver to object
- 橘子学ES19之词项搜索全文检索
- ZCMU 1919: kirito's 星爆气流斩【01背包的二进制优化】
- week16 CSP-M4-B ZJM要抵御宇宙射线
- 【MySQL】单表访问之索引合并
- Ubuntu新装系统必装软件
- 检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败
- Java绝对/相对路径获取与getResourceAsStream()方法
- CAD中 OLE不能旋转_SOLIDWORKS在三偏心蝶阀密封面干涉问题中的应用
- android视频聊天源码下载(wifi)
- 关于unity3d调用手机摄像机的一些操作