JDBC 4.2接口DriverAction和SQLType - 示例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC 4.2接口DriverAction和SQLType - 示例相关的知识,希望对你有一定的参考价值。
我无法找到使用JDBC 4.2新接口DriverAction
和SQLType
的示例。
谁能举个例子?
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”,它可以使用getName
和getVendor
)方法显示“不支持的类型XYZ(供应商:MyXYZDB)”时,它可能允许更可读的诊断,最后(也是安全类型的形式)它可以防止用户在数据库品牌Y中错误地使用数据库品牌X的类型代码(或者至少:允许驱动程序检测这种不正确的使用)。
这就是说:我认为对于JDBC的大多数基本和常规用法,这个界面并没有增加太多。
以上是关于JDBC 4.2接口DriverAction和SQLType - 示例的主要内容,如果未能解决你的问题,请参考以下文章
Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: ..... this is incompatible with sq