Oracle 数据库链接的实例解析

数据库 Oracle
以下的文章主要是介绍Oracle 数据库链接时一些实例子讲解,其中包括Statement对象的使用,在动态SQL命令中进行格式化,等相关实例的介绍。

本文主要讲述的是Oracle 数据库链接时一些实例子讲解,其中包括Statement对象的使用的实际应用的详细解析,如果你是Oracle 数据库链接的实际应用方面的新手的话,相信本文会个你带来很大的帮助。

Statement对象的使用

数据库链接时不可缺的是Statement对象,Statement对象是JDBC程序设计中非常重要的对象,它包含了SQL语句的查询和更新的操作,通过Statement对象可以完成对数据库的查询和更新操作,可以这样理解:Statement对象是操作数据库数据的载体。

在执行SQL命令时,我们有二种选择:可以使用PreparedStatement对象,也可以使用Statement对象。无论多少次地使用同一个 SQL命令,PreparedStatement都只对它解析和编译一次。当使用Statement对象时,每次执行一个SQL命令时,都会对它进行解析和编译。

这可能会使你认为,使用PreparedStatement对象比使用Statement对象的速度更快。然而,我进行的测试表明,在客户端软件中,情况并非如此。因此,在有时间限制的SQL操作中,除非成批地处理SQL命令,我们应当考虑使用Statement对象。

并且,使用Statement对象也使得编写动态SQL命令更加简单,因为我们可以将字符串连接在一起,建立一个有效的SQL命令。因此,我认为,Statement对象可以使动态SQL命令的创建和执行变得更加简单。

在动态SQL命令中进行格式化

链接过程中使用Statement对象执行的动态SQL命令时,我们需要处理一些格式化方面的问题。例如,如果我们想创建一个将名字O'Reilly插入表中的SQL命令,则必须使用二个相连的“''”号替换O'Reilly中的“'”号。

完成这些工作的***的方法是创建一个完成替换操作的helper方法,然后在连接字符串心服用公式表达一个SQL命令时,使用创建的helper方法。与此类似的是,我们可以让helper方法接受一个Date型的值,然后让它输出基于Oracle的to_date()函数的字符串表达式。

 如何提高数据库的使用效率

当我们使用PreparedStatement对象执行SQL命令时,preparedstatement为jdbc得api,他还会创建跟具体数据库有关的其他资源。命令被数据库进行解析和编译,然后被放到命令缓冲区。然后,每当执行同一个 PreparedStatement对象时,它就会被再解析一次,但不会被再次编译。

在缓冲区中可以发现预编译的命令,并且可以重新使用。在有大量用户的企业级应用软件中,经常会重复执行相同的SQL命令,使用PreparedStatement对象带来的编译次数的减少能够提高Oracle数据库的总体性能。如果不是在客户端创建、预备、执行PreparedStatement任务需要的时间长于Statement任务,我会建议在除动态SQL命令之外的所有情况下使用PreparedStatement对象。

 如何成批的处理插入和更新操作

在一个表不要加太多索引,因为索引影响成批插入和更新的速度。Oracle提供的Statement和 CallableStatement并不真正地支持批处理,只有PreparedStatement对象才真正地支持批处理。我们可以使用 addBatch()和executeBatch()方法选择标准的JDBC批处理,或者通过利用PreparedStatement对象的 setExecuteBatch()方法和标准的executeUpdate()方法选择速度更快的Oracle专有的方法。

调用setExecuteBatch()时指定的值是一个上限,当达到该值时,就会自动地引发SQL命令执行,标准的executeUpdate()方法就会被作为批处理送到数据库中。我们可以通过调用PreparedStatement类的sendBatch()方法随时传输批处理任务。

以上的相关内容就是对Oracle 数据库链接时一些实例子讲解,望你能有所收获。

【编辑推荐】

  1. Oracle 删除后重新安装的具体方法
  2. Oracle RAC配置中应注意的问题
  3. Oracle 数据库的并行执行的实际操作
  4. Oracle数据库的安装与配置流程示例
  5. 对Oracle绑定变量的实际操作

 

责任编辑:佚名 来源: 博客园
相关推荐

2011-03-25 09:37:17

2011-05-19 13:25:14

Oracle数据库

2010-04-06 11:19:28

Oracle数据库

2011-03-29 10:47:49

ORACLE数据库

2010-04-14 15:45:49

Oracle 数据库

2022-11-04 08:34:27

Oracle数据库

2011-08-22 14:50:20

2010-04-02 16:03:20

Oracle数据库

2011-08-11 16:55:34

Oracle数据库AWR

2011-08-16 18:55:10

Oracle数据库构造过程

2011-05-26 15:27:08

Oracle数据库

2010-04-13 10:55:35

Oracle数据库

2010-04-23 09:32:39

Oracle数据库实例

2010-04-02 13:46:30

Oracle数据导出

2010-04-30 13:26:50

Oracle数据库

2009-04-07 13:42:41

OracleStatspack诊断

2010-04-22 12:56:48

Oracle数据库

2011-08-22 09:55:30

SQL Server 排序

2009-02-03 09:04:51

Oracle数据库Oracle安全策略Oracle备份

2010-04-01 17:06:57

Oracle数据库
点赞
收藏

51CTO技术栈公众号