JDBC2.0扩展API(2)

原创 2005年06月01日 21:28:00
下面我们来介绍JDBC2.0的标准扩展API。标准扩展API分为如下几个方面:
  1、 DataSource接口:和Java名字目录服务(JNDI)一起工作的数据源接口。它提供了对数 吹囊恢指玫牧臃椒ā?br>  2、 Connection pooling(连接池):可以重复使用连接,而不是对每个请求都使用一个新的连接。
  3、 Distrubute transaction(分布式的事务):在一个事务中涉及到了多个数据库服务器。
  4、 Rowsets:JavaBean组件包含了结果集,主要用来将数据传给瘦客户,或者提供一个可以滚动的结果集。
  下面我们一个一个来介绍:
  一、DataSource接口是一个更好的连接数据源的方法:
  JDBC1.0是原来是用DriverManager类来产生一个对数据源的连接。JDBC2.0用一种替代的方法,使用DataSource的实现,代码变的更小巧精致,也更容易控制。
   一个DataSource对象代表了一个真正的数据源。根据DataSource的实现方法,数据源既可以是从关系数据库,也电子表格,还可以是一个表 格形式的文件。当一个DataSource对象注册到名字服务中,应用程序就可以通过名字服务获得DataSource对象,并用它来产生一个与 DataSource代表的数据源之间的连接。
  关于数据源的信息和如何来定位数据源,例如数据库服务器的名字,在哪台机器上,端口号等等,都 包含在DataSource对象的属性里面去了。这样,对应用程序的设计来说是更方便了,因为并不需要硬性的把驱动的名字写死到程序里面去。通常驱动名字 中都包含了驱动提供商的名字,而在DriverManager类中通常是这么做的。如果数据源要移植到另一个数据库驱动中,代码也很容易做修改。所需要做 的修改只是更改DataSource的相关的属性。而使用DataSource对象的代码不需要做任何改动。
  由系统管理员或者有相应权限的人 来配置DataSource对象。配置DataSource,包括设定DataSource的属性,然后将它注册到JNDI名字服务中去。在注册 DataSource对象的的过程中,系统管理员需要把DataSource对象和一个逻辑名字关联起来。名字可以是任意的,通常取成能代表数据源并且容 易记住的名字。在下面的例子中,名字起为:InventoryDB,按照惯例,逻辑名字通常都在jdbc的子上下文中。这样,逻辑名字的全名就是: jdbc/ InventoryDB。
  一旦配置好了数据源对象,应用程序设计者就可以用它来产生一个与数据源的连接。下面的代码片段示例了如何用JNDI上下文获得一个一个数据源对象,然后如何用数据源对象产生一个与数据源的连接。开始的两行用的是JNDI API,第三行用的才是JDBC的API:
    Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("jdbc/InventoryDB");Connection con = ds.getConnection("myPassword", "myUserName");
  在一个基本的DataSource实现中, DataSource.getConnection方法返回的Connection对象和用DriverManager.getConnection方法 返回的Connection对象是一样的。因为DataSource提供的方便性,我们推荐使用DataSource对象来得到一个Connection 对象。我们希望所以的基于JDBC2.0技术的数据库驱动都包含一个基本的DataSource的实现,这样就可以在应用程序中很容易的使用它。
  对于普通的应用程序设计者,是否使用DataSource对象只是一个选择问题。但是,对于那些需要用的连接池或者分布式的事务的应用程序设计者来说,就必须使用DataSource对象来获得Connection,原因在下面我们会提到。

《Spring 2.0技术手册》 读书笔记七-Spring的DAO框架(2)-JDBC支持

在上篇笔记中,说道使用JDBC存取数据库时,流程大体相同,反复使用较为繁琐。因此Spring采用了Template-Callback模式来简化JDBC使用时的流程。Spring提供了org.sprin...
  • whuqin
  • whuqin
  • 2011年03月12日 21:38
  • 2320

《Spring 2.0技术手册》 读书笔记七-Spring的DAO框架(2)-JDBC支持

在上篇笔记中,说道使用JDBC存取数据库时,流程大体相同,反复使用较为繁琐。因此Spring采用了Template-Callback模式来简化JDBC使用时的流程。 Spring提供了org.s...

Android Camera API 2使用OpenGL ES 2.0和GLSurfaceView对预览进行实时二次处理(黑白滤镜)

本系列教程会有三篇文章讲解Android平台滤镜的实现方式,希望在阅读本文之前先阅读前面两篇文档。...

JEB2 script 中调用 api 重命名所有派生类 V2.0

# -*- coding: utf-8 -*- """ Sample client script for PNF Software's JEB2. More samples are availab...

详解JPA 2.0动态查询机制:Criteria API(2)

详解JPA 2.0动态查询机制:Criteria API(2) 2009-11-13 09:24 Pinaki Poddar IBMDW 字号:T | T JPA 2.0引...

cocos2d-iphone-2.0-rc2 API文档在Xcode中查阅显示

直接用Doxygen生成的docset。可以直接在Xocde中查看cocos2d-iphone-2.0的所有的类结构和API。尝试在cocoachina上面上传几次都失败了。 现在把docset放在...

SPRING 2.0 API 文档 (CHM).PART2(共2卷).

  • 2008年06月16日 13:17
  • 7.55MB
  • 下载

QQ登陆OAuth2.0API(Wbm.QzoneV2API) V1.0.10.27

OAuth2.0 QQ登陆 Wbm.QzoneV  一个更方便,更快速的C#SDK,希望能帮助更多的朋友学习和使用 名称:我不忙-QQ登陆OAuth2.0API(Wbm.QzoneV2...
  • CHBOS
  • CHBOS
  • 2011年10月28日 09:30
  • 1101

Spring-2.0-API-part2 文档

  • 2007年08月11日 14:34
  • 7.65MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JDBC2.0扩展API(2)
举报原因:
原因补充:

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