OracleConnection 弃用的方法问题
OracleConnection Deprecated Methods Problem
我正在升级使用连接池的 class。特别是界面:
oracle.jdbc.OracleConnection
现在这个接口有很多方法被弃用了。我只是想知道这个界面是否还有其他替代方案,所以我不会得到通常的:
The type XXXX must implement the inherited abstract method OracleConnection.getJavaObject(String)
等等等等。以前,代码通过 SupressWarning 注释进行检查。我不喜欢那样。有什么办法可以克服这个问题吗?或者注释是唯一的方法?
我的 maven 依赖导入是这样的,如果有帮助的话:
<!-- 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>
添加代码(class 只是覆盖了 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
的替代方案,尤其是对于 Oracle 11g。
您确定您绝对需要了解 OracleConnection
吗?
您基本上是将您的实施绑定到特定的提供商。
仅 OracleConnection
提供的哪些方法是您有效使用的?
考虑针对 java.sql.Connection
接口进行编程。
public class APPDBConnection implements Connection {
private final Connection connection;
public APPDBConnection(final Connection connection) {
this.connection = connection;
}
只需传入一个已经构造好的 OracleConnection
。
在那之后,您将不再了解它,恕我直言,接口的目的是什么。
我正在升级使用连接池的 class。特别是界面:
oracle.jdbc.OracleConnection
现在这个接口有很多方法被弃用了。我只是想知道这个界面是否还有其他替代方案,所以我不会得到通常的:
The type XXXX must implement the inherited abstract method OracleConnection.getJavaObject(String)
等等等等。以前,代码通过 SupressWarning 注释进行检查。我不喜欢那样。有什么办法可以克服这个问题吗?或者注释是唯一的方法?
我的 maven 依赖导入是这样的,如果有帮助的话:
<!-- 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>
添加代码(class 只是覆盖了 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
的替代方案,尤其是对于 Oracle 11g。
您确定您绝对需要了解 OracleConnection
吗?
您基本上是将您的实施绑定到特定的提供商。
仅 OracleConnection
提供的哪些方法是您有效使用的?
考虑针对 java.sql.Connection
接口进行编程。
public class APPDBConnection implements Connection {
private final Connection connection;
public APPDBConnection(final Connection connection) {
this.connection = connection;
}
只需传入一个已经构造好的 OracleConnection
。
在那之后,您将不再了解它,恕我直言,接口的目的是什么。