JDBC API 4.2 规范在以下几个方面有所改动
3.1 增加对 REF CURSOR 的支持
有些数据库支持 REF CURSOR 数据类型,在调用存储过程后返回该类型的结果集。

3.2 支持大数量的更新
JDBC 当前的方法里返回一个更新数量时,返回的是一个 int,在某些场景下这会导致问题,因为数据集还在不停地增长。

3.3 增加 java.sql.DriverAction 接口
如果一个 driver 想要在它被 DriverManager 注销时得到通知,就要实现这个接口。

3.4 增加 java.sql.SQLType 接口
用来创建一个代表 SQL 类型的对象

3.5 增加 java.sql.JDBCType 枚举类
用来识别通用的 SQL 类型,目的是为了取代定义在 Types.java 类里的常量。

3.6 增加 Java Object 类型与 JDBC 类型的映射(附录表B-4)
增加 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

3.7 增加调用 setObject 和 setNull 方法时 Java 类型和 JDBC 类型的转换(附录表B-5)
允许 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

3.8 使用 ResultSet getter 方法来获得 JDBC 类型(附录表B-6)
允许 getObject 方法返回 TIME_WITH_TIMEZONE, TIMESTAMP_WITH_TIMEZONE

3.9 JDBC API 的变化
以下的 JDBC API 有了一些变化
3.9.1 BatchUpdateException
增加了一个新的构造函数来支持大量的 update,增加 getLargeUpdateCounts 方法。

3.9.2 Connection
增加了 abort,getNetworkTimeout, getSchema, setNetworkTimeout, setSchema 方法。
调整了 getMapType, setSchema, setMapType 方法。

3.9.3 CallableStatement
重载了 registerOutParameter, setObject 方法。
调整了 getObject 方法

3.9.4 Date
增加了 toInstant, toLocalDate 方法。
重载了 valueOf 方法。

3.9.5 DatabaseMetaData
增加了 supportsRefCursor, getMaxLogicalLobSize 方法。
调整了 getIndexInfo 方法。

3.9.6 Driver
调整了 acceptsURL, connect 方法。

3.9.7 DriverManager
重载了 registerDriver 方法。
调整了 getConnection, deregisterDriver, registerDriver 方法。

3.9.8 PreparedStatement
增加了 executeLargeUpdate 方法。
重载了 setObject 方法。

3.9.9 ResultSet
重载了 updateObject 方法。
调整了 getObject 方法。

3.9.10 Statement
增加了 executeLargeBatch, executeLargeUpdate,getLargeUpdateCount, getLargeMaxRows, setLargeMaxRows方法。
调整了 setEscapeProcessing 方法。

3.9.11 SQLInput
增加了 readObject 方法

3.9.12 SQLOutput
增加了 readObject 方法

3.9.13 Time
增加了 toInstant, toLocalTime 方法
重载了 valueOf 方法

3.9.14 Timestamp
增加了 from, toInstant, toLocalTime 方法
重载了 valueOf 方法

3.9.15 Types
增加了 REF_CURSOR, TIME_WITH_TIMEZONE, TIMESTAMP_WITH_TIEMZONE 类型

3.9.16 SQLXML
调整了 getSource setResult 方法

3.9.17 DataSource 与 XADataSource
调整了必须提供一个无参构造函数

JDBC规范——(3)新特性相关推荐

  1. ES8都有哪些新特性,你还在用ES6吗?

    原文:ES8 was Released and here are its Main New Features 作者: Dor Moshe 翻译:黑色巧克力 译者注:EcmaScript第8版已经发布, ...

  2. Java SE 6 新特性: Java DB 和 JDBC 4.0

    http://www.ibm.com/developerworks/cn/java/j-lo-jse65/index.html 长久以来,由于大量(甚至几乎所有)的 Java 应用都依赖于数据库,如何 ...

  3. 【小家java】java8新特性之---全新的日期、时间API(JSR 310规范),附SpringMVC、Mybatis中使用JSR310的正确姿势

    [小家java]java5新特性(简述十大新特性) 重要一跃 [小家java]java6新特性(简述十大新特性) 鸡肋升级 [小家java]java7新特性(简述八大新特性) 不温不火 [小家java ...

  4. ES6和ES7及ES8新特性最新规范知识详细总结

    一.ECMASript 相关介绍 ECMA概述 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hWfWai55-1637595380774)(images/微信截图_2 ...

  5. Spring版本特性:Spring各个版本引入了哪些新特性?

    Spring是Rod Johnson在2004年推出的一个轻量级框架.对Java EE 系统框架臃肿.低效.脱离现实的种种现状提出了质疑,并积极寻求探索革新之道. spring 1.x时代 在这个时代 ...

  6. 接口与抽象类区别和接口jdk8新特性

    jdk8之前特点对比抽象类 1 接口用interface表示,和类是并列的,定义接口就是定义接口的成员 2 接口只能定义公共抽象方法(public abstract)和全局静态最终变量(public ...

  7. Spring5的几个新特性

    相关内容: 架构师系列内容:架构师学习笔记(持续更新) Spring5 新特性简述 Spring 5 于 2017 年 9 月发布了通用版本 (GA),它标志着自 2013 年 12 月以来第一个主要 ...

  8. 高性能数据库引擎 CoolHash 产品宣言 Fourinone4.0版新特性(转)

    Fourinone4.0版新特性:一个高性能的数据库引擎CoolHash(酷哈嘻) 一.前言:如何写一个数据库 如果将操作系统和业务应用之间的软件都统称中间件的话,那么最重要的软件无疑是数据库,它比w ...

  9. 一篇文带你了解JDK 13新特性,保姆级教程!!!

    JDK 13新特性介绍 1.1 JDK 各版本主要特性回顾 JDK Version 1.0 1996-01-23 Oak(橡树) 初代版本,伟大的一个里程碑,但是是纯解释运行,使用外挂JIT,性能比较 ...

  10. Maven的基本原理和Maven2的新特性

    用Maven做项目管理 在Java世界中我们很多开发人员选择用Ant来构建项目,一个build.xml能够完成编译.测试.打包.部署等很多任务,但我们也碰到了很多的问题,如jar文件管理混乱,各个项目 ...

最新文章

  1. linux本地监听创建,linux 创建监听服务器
  2. raid5 增加一块硬盘_Raid5热备盘上线同时另一块硬盘离线如何恢复数据
  3. Python 实现整数线性规划:分枝定界法(Branch and Bound)
  4. 第十六届智能车竞赛国赛队伍中节能信标组无线电能接收方案
  5. 微信竟然可以查出行轨迹了,预计又一波情侣要分手?
  6. python多进程加快for循环_python多进程 通过for循环 join 的问题
  7. 没有足够的值_元丰通宝值多少钱吗?市场价值如何?有没有足够的收藏空间?...
  8. MFC工程按USB插口显示所有USB设备及插口(包括安卓)
  9. 数据驱动和关键字驱动
  10. 基于VC++的WEB浏览器的实现
  11. C++ : 热血格斗场
  12. 植物大战僵尸最全最新版修改存档
  13. 看傲腾配OpenCAS加速联通沃云业务
  14. 数据结构——简单实现森林转化为二叉树
  15. Adobe XMP SDK编译
  16. matlab矩阵输出txt文件中,matlab怎么把矩阵输出到txt
  17. diagrams 一个完全可以代替visio的软件
  18. LeetCode 2309. 兼具大小写的最好英文字母
  19. 解决simnow客户端登录报CTP:客户端认证失败
  20. 全站仪任意设站直线放样(方法)

热门文章

  1. C# winfrom NPOI导出Excel 添加视频、音频文件
  2. 互联网晚报 | 8月15日 星期日 | 第四范式申请港交所上市;招行私人银行客户突破11万户;特斯拉CEO马斯克去年总薪酬为零...
  3. Hadoop -- hadoop介绍
  4. 八大基本数据类型(primitive type)
  5. 论文阅读_中文医学预训练模型_MC-BERT
  6. px、pt和em的区别
  7. 滤镜功能针的萌翻了!Snapchat为狗狗配戴眼镜
  8. Ubuntu下各种软件的安装和卸载
  9. 多篇用DL做Semantic Segmentation的文章总结
  10. 牛顿迭代法求平方根原理