网页功能: 加入收藏 设为首页 网站搜索  
JDBC2.0扩展API(4)
发表日期:2004-07-30作者:[转贴] 出处:  


在一个连接参与了分布式事务的时候,下面的代码是你不能做的(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。

我来说两句】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 JDBC2.0扩展API(4)
本类热点文章
  Java读取文件中含有中文的解决办法
  Java读取文件中含有中文的解决办法
  简单加密/解密方法包装, 含encode(),de..
  EJB 3.0规范全新体验
  java简单的获取windows系统网卡mac地址
  让Java程序带着JRE一起上路
  抢先体验"野马"J2SE6.0
  Java连接各种数据库的实例
  Java连接各种数据库的实例
  JAVA的XML编程实例解析
  Java学习从入门到精通(附FAQ)
  新手必读:Java学习的捷径
最新分类信息我要发布 
最新招聘信息

关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放  
Copyright ©2003-2024 Lihuasoft.net webmaster(at)lihuasoft.net
网站编程QQ群   京ICP备05001064号 页面生成时间:0.01162