首页 > 编程语言 >Java Data解决报错过程记录

Java Data解决报错过程记录

时间:2024-08-15 20:16:12浏览次数:6  
标签:8.0 27 java com jar 报错 mysql Java Data

[attendancewebservice] [24-08-15 19:01:03.199] [b3960aea15204b76b7c838189c28d45d] [10.129.1.238] DEBUG [Thread-10] [ne.jdbc.spi.SqlExceptionHelper.logExceptions 139] could not execute query [select * from id_customers where userid = ?]
java.sql.SQLException: HOUR_OF_DAY: 0 -> 1
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.27.jar:8.0.27]
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.27.jar:8.0.27]
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89) ~[mysql-connector-java-8.0.27.jar:8.0.27]
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63) ~[mysql-connector-java-8.0.27.jar:8.0.27]
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73) ~[mysql-connector-java-8.0.27.jar:8.0.27]
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:85) ~[mysql-connector-java-8.0.27.jar:8.0.27]
    at com.mysql.cj.jdbc.result.ResultSetImpl.getTimestamp(ResultSetImpl.java:939) ~[mysql-connector-java-8.0.27.jar:8.0.27]
    at com.mysql.cj.jdbc.result.ResultSetImpl.getTimestamp(ResultSetImpl.java:977) ~[mysql-connector-java-8.0.27.jar:8.0.27]
    at com.alibaba.druid.filter.FilterChainImpl.resultSet_getTimestamp(FilterChainImpl.java:1258) ~[druid-1.2.3.jar:1.2.3]
    at com.alibaba.druid.filter.FilterAdapter.resultSet_getTimestamp(FilterAdapter.java:1829) ~[druid-1.2.3.jar:1.2.3]
    at com.alibaba.druid.filter.FilterChainImpl.resultSet_getTimestamp(FilterChainImpl.java:1254) ~[druid-1.2.3.jar:1.2.3]
    at com.alibaba.druid.filter.FilterAdapter.resultSet_getTimestamp(FilterAdapter.java:1829) ~[druid-1.2.3.jar:1.2.3]
    at com.alibaba.druid.filter.FilterChainImpl.resultSet_getTimestamp(FilterChainImpl.java:1254) ~[druid-1.2.3.jar:1.2.3]
    at com.alibaba.druid.proxy.jdbc.ResultSetProxyImpl.getTimestamp(ResultSetProxyImpl.java:740) ~[druid-1.2.3.jar:1.1.10]
    at com.alibaba.druid.pool.DruidPooledResultSet.getTimestamp(DruidPooledResultSet.java:365) ~[druid-1.2.3.jar:1.2.3]
    at org.hibernate.type.descriptor.sql.TimestampTypeDescriptor$2.doExtract(TimestampTypeDescriptor.java:75) ~[hibernate-core-4.3.1.Final.jar:4.3.1.Final]
    at org.hibernate.type.descriptor.sql.BasicExtractor.extract(BasicExtractor.java:64)

解决过程:

1. 修改tomcat的数据库连接url配置,增加&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai 【验证无效】

2. 程序修改Data类型为LocalData 【未验证】

3. 时区验证解决过程 【确实是此问题】

代码验证如下:

1     public static void main(String[] args) throws ParseException {
2         DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
3         sdf.setLenient(false);
4         //sdf.setTimeZone(TimeZone.getTimeZone("America/New_York"));
5         sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
6         Date dt = sdf.parse("1991-04-14 00:00:00");
7         System.out.println(sdf.format(dt));
8     }

发现采用美国时区时,程序正常,采用中国时区时,抛异常,问题原因是“1991-04-14 00:00:00”在中国不存在

 上述曾实行夏令时的时间,中国时区均不存在,加1小时即可解决

标签:8.0,27,java,com,jar,报错,mysql,Java,Data
From: https://www.cnblogs.com/zdhxiangni/p/18361746

相关文章

  • java7
    一、内部类1.成员内部类在一个类的内部定义的普通类可以访问外部类的所有成员,包括私有成员需要一个外部类的实例来创建成员内部类的实例可以被修饰为public、private、protected或者默认2.静态内部类一个静态内部类是静态的成员类。不需要外部类的实例来创建静态内部类......
  • INF10025 Data Management and Analytic
    INF10025 Data ManagementandAnalyticTask 1– PassandCreditOverview •    See Canvas → Assignments for due date•   To complete your learning portfolio,every few weeks we ask you to complete a set of tasks, documen......
  • 【问题解决】PageOffice打开word文档报错:Office运行时错误,部分系统文件可能丢失或已损
    打开wps,右上角配置和修复工具取消勾选,确定再打开,重新勾选,确定,退出重启电脑,验证。--PS:本人自测成功,有些人的机器安装有MicrosoftOffice,取消之后(不需要重新勾选)就可以了;本人机器只安装了WPS适合这种操作。......
  • 实现同时接收文件与实体类,java springboot maven
    首先,需要有一个Post接口,有一个实体类方法需要返回什么,直接修改void即可实体类需要接收什么,直接改User即可 @PostMapping(value="/post_interface")publicvoidpostInterface(@RequestParam("file")MultipartFilefile,@RequestParamMap<String,Object>user){......
  • Java的三大使用平台
    一、Java的三大使用平台:1.JavaSE2.JavaME3.JavaEE 二、JavaSEJavaSE用于桌面应用的开发,是其它2个版本的基础。何谓桌面应用?用户只要打开程序,程序的界面会让用户在最短的时间内找到他们需要的功能,同时主动带领用户完成他们的工作并得到最好的体验。学习JavaSE的目的......
  • 【日常记录-Java】EasyExcel输出设定字体
    Author:赵志乾Date:2024-08-15Declaration:AllRightReserved!!!1.问题描述    使用EasyExcel默认的设定输出时,中文字体显得比较怪异。2.解决方案    本质是单元格样式的设置问题,在EasyExcel中,可以通过实现WriteHandler接口或使用EasyExcel提供的注解以及W......
  • java并发
    线程的生命周期(线程有几种状态)线程通常有五种状态,创建,就绪,运行、阻塞和死亡状态:新建状态(New):新创建了一个线程对象。就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。运行状态(Ru......
  • 【Java】 IO流使用方法 (常见方法)
    Java系列文章目录补充内容Windows通过SSH连接Linux第一章Linux基本命令的学习与Linux历史文章目录Java系列文章目录一、前言二、学习内容:三、问题描述四、解决方案:4.1File的使用4.2防止乱码问题五、总结:5.1学习总结:一、前言学习文件IO流学习文档的使用具......
  • qt 5.12测试openssl报错
    //看看是否配置了sslQNetworkAccessManager*manager=newQNetworkAccessManager(this);qDebug()<<manager->supportedSchemes();qDebug()<<QSslSocket::sslLibraryBuildVersionString();使用以上打印出当前组件以及需要的openssl版本 ("ftp","file",......
  • 使用dotenv保护JavaScript代码中的秘密信息
    把诸如apikey这种秘密信息写死的源代码里不可取,比如通常源代码会通过git仓库等进行管理,这样敏感信息就会被共享了。我们选择使用dotenv库把敏感信息配置在.env文件中,然后把.env文件添加到gitignore文件里,不上传到代码仓库。node程序启动后,会将.env文件里的配置项加载到进程对应......