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
- 必須提供一個無參構造函數