在使用 SQLJ 和 JDBC 时获取最优的 DB2 性能
2008-09-16 16:29:32 来源:WEB开发网它是跨平台的。Java 语言可以在当前流行的大多数操作系统上运行。尽管不同平台上的 Java 实现可能有细微的差别,但 Java 语言的核心在任何平台上都是相同的。这种共性意味着您可以在任何受支持的平台上进行开发,而不必再经历陡峭的学习曲线,或为了在某种平台上运行而修改代码。
Java 语言包括许多不同的接口和类,用来向 Java 程序提供功能。
功能的主要方面之一就是访问要在 Java 程序中使用的数据。在 Java 语言中,有两种用于数据访问的开放标准方法:JDBC 和 SQLJ。
JDBC
JDBC 提供了通过调用级别接口从关系数据库中访问数据的基本功能。使用 JDBC 接口,您可以编写用动态 SQL 语句从 DB2 中检索数据的 Java 程序。使用 JDBC 时,您不必预先定义将要用来访问数据的 SQL。
当用 JDBC 从 DB2 数据库中的表中选择数据时,下列代码是必需的:
java.sql.PreparedStatement prepStmt =
context.prepareStatement("SELECT EMPNO FROM EMP_ACT WHERE PROJNO =?");
prepStmt.setString(1, strName);
java.sql.ResultSet rs = prepStmt.executeQuery;
//Retrieve data
rs.close();
SQLJ
SQLJ 构建在 JDBC 之上,使用嵌入式 SQL 来访问数据库。使用 SQLJ 只需要将 SQL 语句嵌入到 Java 代码中 ― 而不必处理底层的调用级别接口。
要用 SQLJ 执行(上一页所描述的)SELECT 语句,请使用以下代码:
#sql [context] {SELECT EMPNO INTO :strEmpNo FROM EMP_ACT WHERE PROJNO =:strProjNo};
除了减少一些编码需求之外,使用 JDBC 和使用 SQLJ 访问 DB2 的主要差异就在于 JDBC 总是使用动态 SQL。SQLJ 可以使用动态 SQL,但也可以通过定制过程,使之能够使用静态 SQL 语句,静态 SQL 一章将讨论这一主题。
更多精彩
赞助商链接