JDBC 4.2接口DriverAction和SQLType - 示例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC 4.2接口DriverAction和SQLType - 示例相关的知识,希望对你有一定的参考价值。

我无法找到使用JDBC 4.2新接口DriverActionSQLType的示例。

谁能举个例子?

答案

DriverAction

DriverAction仅与驱动程序实现相关,如果该驱动程序想要通知驱动程序是否已取消注册(例如,释放资源或执行其他清理操作),则作为JDBC的最终用户,您与其无关。

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

Driver想要被DriverManager通知时必须实现的接口。

DriverAction实现不应由应用程序直接使用。 JDBC驱动程序可以选择在私有类中创建其DriverAction实现,以避免直接调用它。

(强调我的)

SQLType

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

它被用于 - 例如 - 在PreparedStatement.setObject(int, Object, SQLType)中作为PreparedStatement.setObject(int, Object, int)的等价物。

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

这就是说:我认为对于JDBC的大多数基本和常规用法,这个界面并没有增加太多。

以上是关于JDBC 4.2接口DriverAction和SQLType - 示例的主要内容,如果未能解决你的问题,请参考以下文章

JDBC

JDBC 规范中文版 4.2 -第二章 目标

JDBC API阐述

Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: ..... this is incompatible with sq

JDBC复习

Java软件工程师主要学习哪些课程?