模块 java.sql
 java.sql

接口 Wrapper

所有已知的子接口:
CachedRowSet , CallableStatement , Connection , DatabaseMetaData , DataSource , FilteredRowSet , JdbcRowSet , JoinRowSet , ParameterMetaData , PreparedStatement , ResultSet , ResultSetMetaData , RowSet , RowSetMetaData , Statement , SyncResolver , WebRowSet
所有已知的实现类:
RowSetMetaDataImpl

public interface Wrapper
JDBC 类的接口,当所讨论的实例实际上是代理类时,它提供检索委托实例的能力。

许多 JDBC 驱动程序实现都采用包装器模式来提供超出特定于数据源的传统 JDBC API 的扩展。开发人员可能希望访问这些被包装(委托)的资源,作为代表实际资源的代理类实例。该接口描述了一种标准机制来访问这些由其代理表示的包装资源,以允许直接访问资源委托。

自从:
1.6
  • 方法总结

    修饰符和类型
    方法
    描述
    boolean
    isWrapperFor(Class<?> iface)
    如果这实现了接口参数或者是直接或间接实现的对象的包装器,则返回 true。
    <T> T
    unwrap(Class<T> iface)
    返回一个实现给定接口的对象,以允许访问非标准方法或代理未公开的标准方法。
  • 方法详情

    • unwrap

      <T> T unwrap(Class <T> iface) throws SQL异常
      返回一个实现给定接口的对象,以允许访问非标准方法或代理未公开的标准方法。如果接收者实现了接口,那么结果就是接收者或接收者的代理。如果接收者是一个包装器并且被包装的对象实现了接口,那么结果就是被包装的对象或被包装对象的代理。否则返回对包装对象递归调用 unwrap 的结果或该结果的代理。如果接收者不是包装器且未实现接口,则抛出 SQLException
      类型参数:
      T - 此 Class 对象建模的类的类型
      参数:
      iface - 定义结果必须实现的接口的类。
      返回:
      实现接口的对象。可能是实际实现对象的代理。
      抛出:
      SQLException - 如果没有找到实现该接口的对象
      自从:
      1.6
    • isWrapperFor

      boolean isWrapperFor(Class <?> iface) throws SQL异常
      如果这实现了接口参数或者是直接或间接实现的对象的包装器,则返回 true。否则返回假。如果这实现了接口则返回 true,否则如果这是一个包装器则返回在包装对象上递归调用 isWrapperFor 的结果。如果这没有实现接口并且不是包装器,则返回 false。与 unwrap 相比,此方法应作为低成本操作实现,以便调用者可以使用此方法来避免可能失败的昂贵的 unwrap 调用。如果此方法返回 true,则使用相同参数调用 unwrap 应该会成功。
      参数:
      iface - 定义接口的类。
      返回:
      如果这实现了接口或直接或间接包装了一个实现该接口的对象,则为真。
      抛出:
      SQLException - 如果在确定这是否是具有给定接口的对象的包装器时发生错误。
      自从:
      1.6