快速业务通道

使用JdbcProxy测试Java应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
测试 的目的。

下面将对 JdbcProxy 提供的每个功能做详细的介绍。

记录方便开发人员和测试人员阅读的 JDBC 调用过程

JdbcProxy 可以跟踪 JDBC 调用过程,生成方便开发人员和测试人员阅读的文 件格式。在普通的数据库调用中,如果开发人员和测试人员想了解 JDBC 的调用 过程,或者需要完整的查看某个 SQL 语句,则需要手工将这些信息打印出来或者 记录在日志中。 JdbcProxy 的这个功能就像为 JDBC 的调用过程自动记录了一个 日志,开发人员和测试人员可以从日志中获得被调用的每一个方法,以及调用方 法的参数和返回值。这样便于开发人员和测试人员发现由于 SQL 语句拼写错误而 导致的数据库访问失败,或是由于数据库中没有数据而导致的空指针异常,使应 用程序的数据库访问过程更加直观。可以根据清单 1中的示例代码生成 JDBC 调 用过程。

清单 1

import java.sql.Statement; public class JdbcProxyDemo {    public static void main(String args[]) throws Exception {      String driver = "nl.griffelservices.proxy.jdbc.oracle.StubTracerDriver";      String url = "jdbc:tracer::COM.ibm.db2.jdbc.app.DB2Driver:jdbc:db2:SAMPLE";      Class.forName(driver);      Connection connection = DriverManager.getConnection (url);      Statement stmt = connection.createStatement();      stmt.executeUpdate("DELETE FROM greetings WHERE greeting=''Good Night''");//delete      stmt.executeUpdate("INSERT INTO greetings VALUES(''Good Evening'')"); //insert      stmt.executeUpdate("UPDATE greetings SET greeting = ''Good Night''        WHERE greeting = ''Good Evening''"); //update      ResultSet rs = stmt.executeQuery("SELECT * FROM greetings");//select      while (rs.next()) {        System.out.println(rs.getString("greeting"));      }      rs.close();      stmt.close();      connection.close();    } }

使用JdbcProxy测试Java应用程序(2)

时间:2011-05-25 IBM 郑溪龙

与普通数据库调用不同,清单 1中示例程序中所需的数据库驱动是 JdbcProxy 提供的StubTracerDriver,URL 的结构如下:

jdbc:tracer:<filename>:<driver>:<url>

其中:

<filename> 是保存结果的文件名;如果为空,结果会被输出到控制台 。

<driver> 是数据库驱动名,该示例程序使用的是 db2 的驱动。

<url> 是数据源的 URL,该示例程序使用 jdbc:db2:SAMPLE,不需要用 户名和密码。

运行上述程序得到清单 2的记录结果:

清单 2

//记录调用 getConnection 方法java.sql.Driver.connect (jdbc:db2:SAMPLE, {}) returns DB2Connection {    connectionHandle = 1    SPConnected = false    source = SAMPLE    user =    conArgs =    closed = false    describeCached = false    describeParam = true    isReadOnly = false    autoClose = false    LONGDATA compat = false    } //记录建立的 Connection 对象 java.sql.Connection.<init>( DB2Connection {    connectionHandle = 1    SPConnected = false    source = SAMPLE    user =    conArgs =    closed = false    describeCached = false    describeParam = true    isReadOnly = false    autoClose = false    LONGDATA compat = false } ) //记录调用 createStatement

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号