Java OracleConnection不推荐使用的方法问题
我正在升级一个使用连接池的类。特别是界面:Java OracleConnection不推荐使用的方法问题,java,oracle,oracle11g,ucp,Java,Oracle,Oracle11g,Ucp,我正在升级一个使用连接池的类。特别是界面: oracle.jdbc.OracleConnection 现在这个接口有很多不推荐使用的方法。我只是想知道这个界面还有其他选择吗,这样我就不会得到通常的: The type XXXX must implement the inherited abstract method OracleConnection.getJavaObject(String) 诸如此类。在此之前,该代码与SupersWarning注释保持一致。我不喜欢那样。有没有办法克服这个
oracle.jdbc.OracleConnection
现在这个接口有很多不推荐使用的方法。我只是想知道这个界面还有其他选择吗,这样我就不会得到通常的:
The type XXXX must implement the inherited abstract method OracleConnection.getJavaObject(String)
诸如此类。在此之前,该代码与SupersWarning注释保持一致。我不喜欢那样。有没有办法克服这个问题?或者注释是唯一的方法
如果有帮助的话,我的maven dependecy导入类似于:
<!-- https://mvnrepository.com/artifact/com.oracle/ojdbc6 -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.oracle/ucp -->
<dependency>
<groupId>com.oracle.jdbc</groupId>
<artifactId>ucp</artifactId>
<version>12.2.0.1</version>
</dependency>
添加代码类只是凌驾于OracleConnection接口上的所有方法之上,我很确定它没有被大量使用,但因为它是一个旧代码,所以不能确切地说
@SuppressWarnings("deprecation")
public class APPDBConnection implements OracleConnection {
private OracleConnection connection;
public APPDBConnection (OracleConnection connection) {
super();
this.connection = connection;
}
@Override
public <T> T unwrap(Class<T> iface) throws SQLException {
return connection.unwrap(iface);
}
@Override
public boolean isWrapperFor(Class<?> iface) throws SQLException {
return connection.isWrapperFor(iface);
}
@Override
public void clearWarnings() throws SQLException {
connection.clearWarnings();
}
.
.
.
.
据我所知,OracleConnection是无可替代的,尤其是对于Oracle11g 您确定您绝对需要了解OracleConnection吗? 您基本上是将实现绑定到特定的提供者 您正在有效地使用仅由OracleConnection提供的哪些方法? 考虑对Java.SQL连接接口的编程。< /P>
只需传入一个已构建的OracleConnection。在这之后,您将不再知道它,接口的目标是做什么。是否有替代方案取决于您如何使用该类。你能分享你的代码的相关部分吗?从我所看到的,有像pingDatabase、getUsingXAFlag、prepareStatementWithKey在方法中被覆盖的方法。我在连接界面中找不到它们。但老实说,我甚至不确定这些方法是否在任何地方被使用。@hell\u storm2004很容易检查它们是否被使用。通过切换到实现连接并重新编译来删除它们。如果使用它们,你会得到错误。是的,这就是我现在所做的。我不确定错误发生在哪里,我的整个工作区都有错误,但由于其他原因。如果我需要任何帮助,我会发回,稍后再发。谢谢@见鬼,当然,请随便打我。
public class APPDBConnection implements Connection {
private final Connection connection;
public APPDBConnection(final Connection connection) {
this.connection = connection;
}