java - JDBC 4.2 接口(interface) DriverAction 和 SQLType - 示例

标签 java jdbc

我无法找到 JDBC 4.2 的使用示例新界面DriverActionSQLType

谁能给我举个例子吗?

最佳答案

DriverAction

DriverAction仅与驱动程序实现相关,如果该驱动程序希望在驱动程序被取消注册时收到通知(例如释放资源或执行其他清理操作),作为 JDBC 的最终用户,您与它无关。

如文档中所述,其目的是:

An interface that must be implemented when a Driver wants to be notified by DriverManager.

A DriverAction implementation is not intended to be used directly by applications. A JDBC Driver may choose to create its DriverAction implementation in a private class to avoid it being called directly.

(强调我的)

SQLType

了解SQLType你首先需要查看枚举 JDBCType 。这是一个声明与 java.sql.Types 中相同的 JDBC 类型的枚举。 ,但随后作为枚举对象。该枚举实现SQLType。添加接口(interface) SQLType 允许驱动程序实现为 JDBC 中未定义的驱动程序或数据库特定类型添加类似的类型安全枚举。

它被用于 - 例如 - PreparedStatement.setObject(int, Object, SQLType)相当于 PreparedStatement.setObject(int, Object, int) .

您可能会问这添加了什么?首先,它对于类型安全来说更好。过去,驱动程序为数据库特定类型分配类似于 java.sql.Types 的整数,这些整数可能与较新的 JDBC 版本中添加的类型代码发生冲突。其次,当您提供不支持的类型时,它可能允许更易读的诊断(例如,它可以显示“不支持的类型 XYZ(供应商:MyXYZDB)”,而不是“不支持的类型 -1233”) > 使用 getNamegetVendor )方法,最后(也是类型安全的一种形式)它可以防止用户在数据库品牌 Y 中错误地使用数据库品牌 X 的类型代码(或者至少:允许驱动程序检测到这种错误的使用)。

也就是说:我认为对于 JDBC 的最基本和常规用法来说,这个接口(interface)并没有增加太多。

关于java - JDBC 4.2 接口(interface) DriverAction 和 SQLType - 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23934260/

相关文章:

java - 无法使用 MongoRepository 从 Spring 保存 Mongo DB 中的值

java - 使用 UI 创建 Android Studio 插件

java - 如何在 GingerBread 2.3.3 中导入 .so 文件?

java - 如何触发数据库中的作业并断开连接,而不是长时间保持连接打开?

mysql - MySQL JDBC 驱动程序连接字符串是什么?

java - Jetty 在多个 TCP 端口上发布端点

java - 监视 Java Hibernate 数据检索

java - 如何在更新 Oracle 中的列 Clob 时提高性能?

java - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Unknown column 'raj' in 'field list' at sun. 反射(reflect)

java - PostgreSQL 存储过程不工作