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,原因在下面我们会提到。

JDBC2.0扩展API(2)

下面我们来介绍JDBC2.0的标准扩展API。标准扩展API分为如下几个方面:  1、 DataSource接口:和Java名字目录服务(JNDI)一起工作的数据源接口。它提供了对数 吹囊恢指玫牧...
  • netyfhome
  • netyfhome
  • 2001年08月24日 13:22
  • 662

JDBC2.0扩展API(3)

二、Connection pooling(连接池):  连接池是这么一种机制,当应用程序关闭一个Connection的时候,这个连接被回收,而不是被destroy,因为建立一个连接是一个很费资源的操作...
  • netyfhome
  • netyfhome
  • 2001年08月24日 13:23
  • 594

JDBC2.0扩展API(1)

    JDBC 2.0 API被划分为两部分:JDBC 2.0核心API和JDBC 2.0标准扩展API。核心API在java.sql里面。这是原来的版本就实现了的基本的功能。标准扩展API在jav...
  • netyfhome
  • netyfhome
  • 2001年08月24日 13:21
  • 604

JDBC2.0扩展API(4)

在一个连接参与了分布式事务的时候,下面的代码是你不能做的(con表示支持分布式事务的连接Connection)。  con.commit();或者con.rollback();或者con.setAut...
  • netyfhome
  • netyfhome
  • 2001年08月24日 13:23
  • 654

JDBC2.0扩展API

JDBC 2.0 API被划分为两部分:JDBC 2.0核心API和JDBC 2.0标准扩展API。核心API在java.sql里面。这是原来的版本就实现了的基本的功能。标准扩展API在javax.s...
  • zaowei21
  • zaowei21
  • 2007年05月30日 11:27
  • 437

jdbc 2.0

本文来自:Linux宝库 -- http://doc.linuxpk.com/45749.html JDBC 2.0 API被划分为两部分:JDBC 2.0核心API和JDBC 2.0标准扩展A...
  • zsw2zkl
  • zsw2zkl
  • 2012年11月01日 14:44
  • 473

JNDI(Java 命名和目录接口)(二)--JDBC2.0扩展API

   JDBC 2.0 API被划分为两部分:JDBC 2.0核心API和JDBC 2.0标准扩展API。核心API在java.sql里面。这是原来的版本就实现了的基本的功能。标准扩展API在java...
  • hulefei29
  • hulefei29
  • 2009年01月23日 16:36
  • 624

JDBC总结10-JDBC2.0 扩展

JDBC2.0 扩展  (一)JNDI(命名路径服务):       定义:是 Java 的命名和路径服务接口。而 JDBC 是 Java 的数据库访问接口。            跟 JDBC...
  • hjf19790118
  • hjf19790118
  • 2011年12月04日 22:12
  • 178

对nova进行api扩展

openstack框架可以很容易地扩展api,可以自定义一些api。本文以nova-api为例,进行api扩展。 nova的扩展都放在nova/api/openstack/compute/contr...
  • cugb1004101218
  • cugb1004101218
  • 2015年11月22日 15:36
  • 941

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

1.      H5新增选择器( SelectorsAPI ) 1)      H5之前的选择器 document.getElementById("p1");//获取ID为p1的那个元素,返回一个...
  • ll_xiaohanqing_91
  • ll_xiaohanqing_91
  • 2016年04月23日 17:05
  • 1038
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JDBC2.0扩展API(2)
举报原因:
原因补充:

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