本文共 1146 字,大约阅读时间需要 3 分钟。
Wrapper接口可以把一个非JDBC标准的接口(第三方驱动提供的)包装成标准接口。许多 JDBC 驱动程序实现使用包装器模式提供超越传统 JDBC API 的扩展,传统 JDBC API 是特定于数据源的。开发人员可能希望访问那些被包装(代理)为代表实际资源代理类实例的资源。此接口描述访问那些由代理代表的包装资源的标准机制,以允许对资源代理的直接访问。
下面JDBC接口都继承了Wrapper接口
java.sql.Connection java.sql.DatabaseMetaData java.sql.ParameterMetaData java.sql.ResultSet java.sql.ResultSetMetaData java.sql.Statement javax.sql.DataSourceboolean isWrapperFor(Class< ? > iface) 如果调用此方法的对象实现接口参数,或者是实现接口参数的对象的直接或间接包装器,则返回 true。
T unwrap(Class iface) 返回一个对象,该对象实现给定接口,以允许访问非标准方法或代理未公开的标准方法。
AutoCloseable是JDK1.7中新增自动释放资源接口。
在JDK7中只要实现了AutoCloseable或Closeable接口的类或接口,都可以使用try-with-resource来实现异常处理和资源关闭,先声明的资源后关闭。public static void main(String[] args) throws SQLException { String url = "jdbc:mysql://localhost:3306/test?serverTimezone=UTC&user=root&password=123456"; String sql = "SELECT * FROM student"; try (Connection connection = DriverManager.getConnection(url); Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery(sql)) { resultSet.next(); System.out.println(resultSet.getString(1)); }}
转载地址:http://lshgi.baihongyu.com/