java.lang.AbstractMethodError:oracle.jdbc.driver.OracleResultSetImpl getObject abstract

运行环境:

spring boot版本:3.0.3

jdk版本:17

mybatis版本:3.0.3

oracle数据库版本:11g

oracle驱动版本:ojdbc6

问题:

在将用户表信息转为用户对象时报错,代码如下:

java.lang.AbstractMethodError:oracle.jdbc.driver.OracleResultSetImpl getObject abstract_第1张图片

用户类:

java.lang.AbstractMethodError:oracle.jdbc.driver.OracleResultSetImpl getObject abstract_第2张图片

报错信息:

Handler dispatch failed: java.lang.AbstractMethodError: Receiver class oracle.jdbc.driver.OracleResultSetImpl does not define or inherit an implementation of the resolved method 'abstract java.lang.Object getObject(java.lang.String, java.lang.Class)' of interface java.sql.ResultSet.

java.lang.AbstractMethodError:oracle.jdbc.driver.OracleResultSetImpl getObject abstract_第3张图片

根本原因是 ojdbc6 不支持将日期转换为 java8的LocalData,所以将LocalData换成 Date 就行。

修改后的代码:

java.lang.AbstractMethodError:oracle.jdbc.driver.OracleResultSetImpl getObject abstract_第4张图片

再次运行程序,不报错了。

关于类似问题的解决方案,参考文章:

java.lang.AbstractMethodError: Method oracle/jdbc/driver/OracleResultSetImpl.getObject is abstract-CSDN博客

Oracle11g驱动与jdk版本不匹配问题记录_receiver class oracle.jdbc.driver.t4cconnection do-CSDN博客

你可能感兴趣的:(JAVA,java,oracle,mybatis,AbstractMethod,OracleResult)