达梦(DM)数据库JDBC Statement

MoMo 2021年6月14日18:33:23
评论
32

Statement

1. 概述

Statement  对象用于将 SQL  语句发送到数据库服务器。DM JDBC 提供三种类型的语句

对象:StatementPreparedStatementCallableStatement。其中 PreparedStatement  Statement

的子类,CallableStatement  PreparedStatement 的子类。每一种语句对象用来运行特定类型

 SQL 语句。

Statement 对象用来运行简单类型的 SQL 语句,语句中无需指定参数。

PreparedStatement 对象用来运行包含(或不包含)IN 类型参数的预编译 SQL 语句。

CallableStatement 对象用来调用数据库存储过程。

2. 创建 Statement 对象

建立连接后,Statement 对象用 Connection 对象的 createStatement 方法创建,以下代码

创建 Statement 对象:

Connection con = DriverManager.getConnection(url, "SYSDBA", "SYSDBA");

Statement stmt = con.createStatement();

3. 使用 Statement 对象执行语句

Statement 接口提供了三种执行 SQL 语句的方法:executeQueryexecuteUpdate  execute

方法  executeQuery  用于产生单个结果集的语句,例如  SELECT  语句。

方法  executeUpdate  用于执行  INSERTUPDATE    DELETE  语句以及  SQL DDL 

句,如  CREATE  TABLE    DROP  TABLEINSERTUPDATE    DELETE  语句的效果

是修改表中零行或多行中的一列或多列。executeUpdate  的返回值是一个整数,表示受影响

的行数。对于 CREATE  TABLE  DROP  TABLE  DDL 语句,executeUpdate  的返回值总

为零。

方法  execute  用于执行返回多个结果集、多个更新元组数或二者组合的语句。

执行语句的三种方法都将关闭所调用的 Statement  对象的当前打开结果集(如果存在)。

这意味着在重新执行 Statement 对象之前,需要完成对当前 ResultSet 对象的处理。

4. 关闭  Statement  对象

Statement 对象可由 Java 垃圾收集程序自动关闭。但作为一种良好的编程风格,应在不

需要 Statement 对象时显式地关闭它们。这将立即释放数据库服务器资源,有助于避免潜在

内存问题。

5. 性能优化调整

1) 批处理更新

DM JDBC 驱动程序提供批处理更新的功能,通过批处理更新可以一次执行一个语句集

合。JDBC 提供了三个方法来支持批处理更新:通过 addBatch 方法,向批处理语句集中增加

一个语句;通过 executeBatch 执行批处理更新;通过 clearBatch 来清除批处理语句集。

批处理更新过程中,如果出现执行异常,DM 将立即退出批处理的执行,同时返回已经

被执行语句的更新元组数(在自动提交模式下)

推荐批处理更新在事务的非自动提交模式下执行。同时,批处理更新成功后,需要主动

提交以保证事务的永久性。

2) 性能优化参数设置

DM  JDBC 驱动程序提供了 setFetchDirectionsetFetchSize 来向驱动程序暗示用户操作

语句结果集的缺省获取方向和一次获取的缺省元组数。这些值的设定可以为驱动程序优化提

供参考。

6. 语句对象

JDBC 在创建语句对象时,可以指定语句对象的缺省属性:结果集类型和结果集并发类

型。DM  JDBC  驱动程序支持  TYPE_FORWARD_ONLY    TYPE_SCROLL_INSENSITIVE

  种  结  果  集  类  型  ,  不  支  持 TYPE_SCROLL_SENSITIVE   果  集  类  型  ;  支  持

CONCUR_READ_ONLYCONCUR_UPDATABLE 两种结果集并发类型。

语句对象的缺省属性用来指定执行语句产生的结果集的缺省类型,其具体含义和用法参

 4.7 ResultSet 节中“结果集增强特性部分”。

注意:

DM JDBC 驱动程序中当执行的查询语句涉及多个基表时,结果集不能更新,结果

集的类型可能被自动转换为 CONCUR_READ_ONLY 类型。

https://xpanx.com/
MoMo
  • 本文由 发表于 2021年6月14日18:33:23
  • 转载请务必保留本文链接:https://xpanx.com/2957.html
 TongWeb 在企业级应用中的作用 东方通

 TongWeb 在企业级应用中的作用

  应用服务器 TongWeb v7 全面支持 JavaEE7 及部分 JavaEE8 规范,作为基础架 构软件,位于操作系统与应用之间,帮助企业将业务应用集成在一个基础平台上, 为应用高效...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: