快速业务通道

走上开放之路: .NET开发人员的J2EE基础(下) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
MPLOYEE"); // Step 4. Get the results ResultSet rs = stmt.getResultSet(); while (rs.next()) {   String firstCol = rs.getString(1);   int secondCol  = rs.getInt(2);   ... } // Step 5. Disconnect from the database conn.close();

清单 29 中的 Step 1 动态地加载适当的驱动程序。这个例子使用的是 DB2;其他 JDBC 驱动程序具有不同的完全限定名称。Step 2 提供特定于驱动程序的 String 来指出要连接到 的数据库。每种 JDBC 驱动程序都有自己的 String 格式。DB2 使用的格式是 "jdbc:db2:DBNAME" ,因此在此例中要连接到的是一个名为 SAMPLE 的数据库。例子中还提 供了身份验证信息,以便数据库服务器能够对连接请求进行身份验证。在 Step 4 中,注意 例子中如何循环迭代结果集,直至 next() 方法返回 false 。您还必须知道每个列的类型, 并对每个列和每种类型调用适当的 getXXXX(n) 方法。还要注意您传递给 getXXXX(n) 方法 的整数是列编号。

这种方法相当类似于使用 ADO.NET DataReader,因为程序员要负责打开和关闭数据库连 接。在 ADO.NET 中,您最初对数据库使用 ADO.NET 提供程序所提供的类,因此不能像使用 JDBC 那样容易地在运行时切换数据库。

连接池

ADO.NET 还提供一组称为 DataAdapter 的类,它们允许在断开连接的模式下操作,从而 使您不必显式地管理数据库连接。使用 DataAdapter 的典型应用流程如下:

使用提供程序的 DataAdapter 类来识别数据库(在需要时提供身份验证信息)和查询。

执行查询。

处理结果。

使用 JDBC,您可以从显式地管理连接的工作中解放出来。可以配置 J2EE 应用服务器来 维护可通过 JDBC 访问的数据库的数据库连接池。然后应用程序就可以从应用服务器管理的 池中请求连接,并在完成使用时将它们返回池中。大多数应用服务器都具有管理连接池的相 当高级的选项,包括“唤醒”连接的能力,即从没有在给定时间内将连接返回池中的错误应 用程序那里取回连接。

走上开放之路: .NET开发人员的J2EE基础(下)(8)

时间:2011-04-09 IBM David Carew

使用连接池的应用程序的典型流程如下:

查找应用服务器资源库中的 DataSource (用于访问特定的连接池)。(每个应用服务器 都有一个资源库,其中包含所有已配置的连接和其他资源,比如消息队列和 SMTP 提供程序 。您可以使用名为 JNDI 的标准 J2EE API 来访问资源库。)(您只需执行这个步骤一次。 )

从池中获得连接(在需要时提供身份验证信息)。

执行查询和/或更新。

处理结果。

将连接返回池中。

清单 30 显示了使用连接池的一个例子。

清单 30. 一个连接池例子

// Step 1. Look up the DataSource InitialContext ic = new InitialContext(); DataSource ds = (DataSource) ic.lookup("jdbc/MyDS"); // Step 2. Get a connection from the pool Connection conn = ds.getConnection(); // Step 3. Execute query Statement stmt = conn.createStatement(); stmt.execute("SELECT * FROM USERID.EMPLOYEE"); // Step 4. Get the results ResultSet rs = stmt.getResultSet(); while (rs.next()) {   String firstCol = rs.getString(1);   int secondCol  = rs.getInt(2);   ... } // Step 5. Return connection to the pool conn.close();

Step 1 假设应用服务器已经使用名为 "jdbc/MyDS" 的 DataSource 来配置好了。这样就 封装了一个特定的 JDBC 驱动程序和数据库。您还可以向 DataSource 定义添加身份验证信 息,这样应用程序就不必提供该信息。可以使用 InitialContext (它是 JNDI API 的一部 分)来查找应用服务器控制的各种资源。Step 3 至

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号