JDBC2.0扩展API(4)

原创 2001年08月24日 13:23:00
在一个连接参与了分布式事务的时候,下面的代码是你不能做的(con表示支持分布式事务的连接Connection)。
  con.commit();或者con.rollback();或者con.setAutoCommit(true);对于通常的Connection来说,缺省的是auto-commit模式。而对于支持分布式事务的Connection来说,缺省不是auto-commit模式。注意,即使Connection是支持事务的,它也可以用于没有事务的情况。关于事务边界的限制只是是对分布式事务的情况下才成立的。
  配置支持连接池的DataSource的时候,涉及到配置ConnectionPoolDataSource对象,这个对象是三层体系结构中的中间层来管理连接池的。同样的,在配置支持分布式事务的时候,需要配置XADataSource,XADataSource是中间层用来管理分布式事物的对象。ConnectionPoolDataSource和XADataSource是由驱动提供商提供的,对应用程序的设计者来说是透明的。和基本的DataSource一样,系统管理员来配置ConnectionPoolDataSource和XADataSource对象。
  四、结果集:
  结果集对象是一行行数据的容器。根据其目的,可以通过多种方法实现。RowSet及其相关的接口与JDBC2.0的标准扩展API有点不同,他们并不是驱动的一部分,RowSet是在驱动的上层实现的,可以由其它的任何人来实现他们。
  任何类型的rowset都实现了RowSet接口,RowSet接口扩展了ResultSet接口。这样RowSet对象就有了ResultSet对象所有的功能。能够通过getXXX方法得到数据库中的某列值,通过updateXXX方法可以修改某列值,可以移动光标,是当前行变为另一行。
  当然,我们更感兴趣的是RowSet接口提供的新的功能。作为一个JavaBean组件,RowSet对象可以增加或者删除一个listener(监听者),可以get或者set其属性值,这些属性中,有一个是字符串,表示一个对数据库Query请求,RowSet接口定义了设定参数的方法,也提供了执行这个请求的方法。这意味着RowSet对象能够执行查询请求,可以根据它产生的结果集进行计算。同样,RowSet也可以根据任何表格数据源进行计算,所以,它不局限于关系数据库。
  从数据源得到数据之后,RowSet对象可以和数据源断开连接,rowset也可以被序列化。这样,RowSet就可以通过网络传递给瘦客户端。
  RowSet可以被重新连接到数据源,这样,做的修改就可以存回到数据源中去。如果产生了一个listener,当RowSet的当前行移动,或者数据被修改的时候,监听者就会收到通知。例如,图形用户界面组件可以注册成为监听者,当RowSet更改的时候,图形用户界面接到通知,就可以修改界面,来符合它所表示的RowSet。
  根据不同的需要,RowSet接口可以通过多种方法来实现。Java software已经写了一个CachedRowSet实现,从http://developer.java.sun.com/developer/earlyAccess/crs/index.html中可以得到这个实现。
  与CachedRowSet类不样的是,JDBCRowSet类总是保持一个和数据源的连接。这样,在ResultSet外围简单到加了一层,是基于JDBC技术的驱动看起来象是一个简单的JavaBean组件一样。

  总结:JDBC2.0标准扩展API通过见DataSource注册到JNDI名字服务上,将JDBC技术扩展为一个全新的概念。使应用程序的代码更加精巧,易于控制。新的API支持了连接池,支持分布式的事务。最后,还使java应用程序可以在网络上传播结果集,是不可以滚动的ResultSet变成了可以滚动的RowSet。

MySQL数据库JDBC2.0操作

数据库最基本的操作为一般的JDBC操作,在JDBC2.0后为了方便数据库的开发,加入了很多方便的操作,包括可滚动的数据集和使用数据集对数据进行增删改查....
  • Haiyang_Duan
  • Haiyang_Duan
  • 2017年08月04日 16:49
  • 161

HTML5脚本扩展---新增小型API

1.      H5新增选择器( SelectorsAPI ) 1)      H5之前的选择器 document.getElementById("p1");//获取ID为p1的那个元素,返回一个...
  • ll_xiaohanqing_91
  • ll_xiaohanqing_91
  • 2016年04月23日 17:05
  • 992

Java数据库编程---JDBC2.0操作

JDBC2.0操作     之前所讲解的大部分操作都是属于最基本的JDBC操作,在JDBC2.0之后,为了方便操作者进行数据库的开发提供了许多更加方便的操作,包括,可滚动的结果集,以及使用结果集直接...
  • SkewRain
  • SkewRain
  • 2014年02月15日 13:25
  • 773

【整理】Linux下中文检索引擎coreseek4安装,以及PHP使用sphinx的三种方式(sphinxapi,sphinx的php扩展,SphinxSe作为mysql存储引擎)

一,软件准备 coreseek4.1 (包含coreseek测试版和mmseg最新版本,以及测试数据包【内置中文分词与搜索、单字切分、mysql数据源、python数据源、RT实时索...
  • slqgenius
  • slqgenius
  • 2016年07月20日 07:01
  • 1807

Chrome浏览器扩展开发系列之十六:扩展中可用的Chrome浏览器API

除了Chrome浏览器支持的chrome.* API之外,Chrome浏览器扩展还可以使用Chrome浏览器为Web页面或Chrome app提供的APIs。对于Chrome浏览器2支持的API,还可...
  • fkepgydhbyuan
  • fkepgydhbyuan
  • 2016年11月24日 09:38
  • 2585

Chrome浏览器扩展开发系列之十七:扩展中可用的chrome.events API

chrome.events中定义了一些常见的事件类型,可以供Chrome浏览器扩展程序发出对应的事件对象。 对于关注的事件,首先要通过addListener()在对应的事件上注册监听器,示例如下...
  • fkepgydhbyuan
  • fkepgydhbyuan
  • 2016年11月24日 09:38
  • 970

构建基于Spring4的Rest API

这是关于使用Spring MVC创建Web API的另一个教程。这并不是一个非常精细的教程,而仅仅是一个演习(攻略)。本教程旨在创建一个提供服务器端API的应用,并且使用Mongo作为它的数据库,使用...
  • hj7jay
  • hj7jay
  • 2016年07月21日 10:13
  • 1306

DOM扩展:DOM API的进一步增强[总结篇-上]

DOM1级主要定义了文档的底层结构,并提供了基本的查询操作的API,总体而言这些API已经比较完善,我们可以通过这些API完成大部分的DOM操作。然而,为了扩展DOM API的功能,同时进一步提高DO...
  • liumulinsp
  • liumulinsp
  • 2016年01月07日 15:05
  • 490

chrome如何添加一个extension的api

好的好的,这里演示的是如何在chrome里添加一个extebsuib的api.
  • gensmusic
  • gensmusic
  • 2014年06月06日 15:14
  • 847

PHP扩展开发—LINUX环境

LINUX环境下开发PHP扩展的步骤如下:1、下载PHP源码,解压,我的解压目录是:/root/lamp/php-5.5.372、cd到/root/lamp/php-5.5.37/ext目录下,创建文...
  • anda0109
  • anda0109
  • 2016年08月04日 09:13
  • 940
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JDBC2.0扩展API(4)
举报原因:
原因补充:

(最多只允许输入30个字)