JDBC 规范中文版 4.2 -第三章 新特性
3.1 新特性概览
JDBC 4.2 API在以下方面引入了新的内容和变更:
-
添加对
REF CURSOR
支持REF CURSOR该特性主要用于多个数据库支持REF CURSOR数据类型以返回
存储过程的结果 -
支持返回大数据量的更新返回值
用于支持在更新后返回条数一般为int类型,这会导致如更新的数据条数大于int类型的最大值,则会报错
-
增加
java.sql.Driveraction
接口(JDK 1.8)用于通知DriverManager去注销驱动
-
增加
java.sql.SQLType
interface接口用于创建表示泛型SQL类型的对象的接口,称为JDBC类型或特定于供应商的类型
-
增加
java.sql.JDBCType
枚举用来识别通用的 SQL 类型,目的是为了取代定义在 Types.java 类里的常量。
-
增加 Java Object 类型与 JDBC 类型的映射
- 增加
java.time.LocalDate
映射到 JDBC DATE - 增加
java.time.LocalTime
映射到 JDBC TIME - 增加
java.time.LocalDateTime
映射到 JDBC TIMESTAMP java.time.LocalOffsetTime
映射到 JDBC TIME_WITH_TIMEZONE- 增加
java.time.LocalOffsetDateTime
映射到 JDBC TIMESTAMP_WITH_TIMEZONE
- 增加
-
增加调用 setObject 和 setNull 方法时 Java 类型和 JDBC 类型的转换
- 允许
java.time.LocalDate
转化为 CHAR, VARCHAR, LONGVARCHAR, DATE - 允许
java.time.LocalTime
转化为 CHAR, VARCHAR, LONGVARCHAR, TIME - 允许
java.time.LocalTime
转化为 CHAR, VARCHAR, LONGVARCHAR, TIMESTAMP - 允许
java.time.OffsetTime
转化为 CHAR, VARCHAR, LONGVARCHAR, TIME_WITH_TIMESTAMP - 允许
java.time.OffsetDateTime
转化为 CHAR, VARCHAR, LONGVARCHAR, TIME_WITH_TIMESTAMP, TIMESTAMP_WITH_TIMESTAMP
- 允许
-
使用 ResultSet getter 方法来获得 JDBC 类型
允许 getObject 方法返回 TIME_WITH_TIMEZONE, TIMESTAMP_WITH_TIMEZONE
-
JDBC API 的变化
BatchUpdateException
- 增加了一个构造函数来支持大量的更新数据返回
- 新增
getLargeUpdateCounts
方法
Connection
- 增加了 abort,getNetworkTimeout, getSchema, setNetworkTimeout, setSchema 方法。
- 调整了 getMapType, setSchema, setMapType 方法。
CallableStatement
- 重载了 registerOutParameter, setObject 方法。
- 调整了 getObject 方法
Date
- 增加了 toInstant, toLocalDate 方法。
- 重载了 valueOf 方法。
DatabaseMetaData
- 增加了 supportsRefCursor, getMaxLogicalLobSize 方法。
- 调整了 getIndexInfo 方法。
Driver
- 调整了 acceptsURL, connect 方法。
DriverManager
- 重载了 registerDriver 方法。
- 调整了 getConnection, deregisterDriver, registerDriver 方法。
PreparedStatement
- 增加了 executeLargeUpdate 方法。
- 重载了 setObject 方法
ResultSet
- 重载了 updateObject 方法。
- 调整了 getObject 方法。
Statement
- 增加了 executeLargeBatch, executeLargeUpdate,getLargeUpdateCount, getLargeMaxRows, setLargeMaxRows方法
- 调整了 setEscapeProcessing 方法
SQLInput
- 增加了 readObject 方法
SQLOutput
- 增加了 readObject 方法
Time
- 增加了 toInstant, toLocalTime 方法
- 重载了 valueOf 方法
Timestamp
- 增加了 from, toInstant, toLocalTime 方法
- 重载了 valueOf 方法
Types
- 增加了 REF_CURSOR, TIME_WITH_TIMEZONE, TIMESTAMP_WITH_TIEMZONE 类型
SQLXML
- 明确了GetSource和setResult方法
DataSource 与 XADataSource
- 必须提供一个无参构造函数