- 浏览: 111153 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (53)
- JavaBase (26)
- Java--strutsFrameWork (3)
- Java-HibernateFrameWork (0)
- Java--springFrameWork (10)
- Exception Summary (1)
- Java--Tomcat (0)
- JavaScript and Ajax (2)
- Programming Word (1)
- Search Engine (0)
- MySQLDatabase (0)
- OrcalDatabase (0)
- SQLserverDatabase (0)
- 各种配置 (0)
- 学习总结 (1)
- 个人随笔 (4)
- 个人情感 (2)
最新评论
-
jiazhen1021:
...
Spring框架中的Bean对象的生命周期 -
zzjmates:
很浅显的东西,没有讲到本质
深度解析JSP工作原理 -
knightjames:
好文章,虽然只是看懂一部分
深度解析JSP工作原理 -
jarip:
好文章就是看一遍就能清楚个大概,
深度解析JSP工作原理 -
qq672076266:
good
pageContext对象
2 - 连接 本概述是从《JDBCTM Database Access from JavaTM: A Tutorial and Annotated Reference 》这本书中摘引来的。JavaSoft 目前正在准备这本书。这本书是一本教程,同时也是 JDBC 的重要参考手册,它将作为 Java 系列的组成部份在 1997 年春季由 Addison-Wesley 出版公司出版。 2.1 概述 Connection 对象代表与数据库的连接。连接过程包括所执行的 SQL 语句和在该连接上所返回的结果。一个应用程序可与单个数据库有一个或多个连接,或者可与许多数据库有连接。 2.1.1 打开连接 与数据库建立连接的标准方法是调用 DriverManager.getConnection 方法。该方法接受含有某个 URL 的字符串。DriverManager 类(即所谓的 JDBC 管理层)将尝试找到可与那个 URL 所代表的数据库进行连接的驱动程序。DriverManager 类存有已注册的 Driver 类的清单。当调用方法 getConnection 时,它将检查清单中的每个驱动程序,直到找到可与 URL 中指定的数据库进行连接的驱动程序为止。Driver 的方法 connect 使用这个 URL 来建立实际的连接。 用户可绕过 JDBC 管理层直接调用 Driver 方法。这在以下特殊情况下将很有用:当两个驱动器可同时连接到数据库中,而用户需要明确地选用其中特定的驱动器。但一般情况下,让 DriverManager 类处理打开连接这种事将更为简单。 下述代码显示如何打开一个与位于 URL "jdbc:odbc:wombat" 的数据库的连接。所用的用户标识符为 "oboy" ,口令为 "12Java": String url = "jdbc:odbc:wombat"; Connection con = DriverManager.getConnection(url, "oboy", "12Java"); 2.1.2 一般用法的 URL 由于 URL 常引起混淆,我们将先对一般 URL 作简单说明,然后再讨论 JDBC URL。 URL(统一资源定位符)提供在 Internet 上定位资源所需的信息。可将它想象为一个地址。 URL 的第一部份指定了访问信息所用的协议,后面总是跟着冒号。常用的协议有 "ftp"(代表“文件传输协议”)和 "http" (代表“超文本传输协议”)。如果协议是 "file",表示资源是在某个本地文件系统上而非在 Internet 上(下例用于表示我们所描述的部分;它并非 URL 的组成部分)。 ftp://javasoft.com/docs/JDK-1_apidocs.zip http://java.sun.com/products/jdk/CurrentRelease file:/home/haroldw/docs/books/tutorial/summary.html URL 的其余部份(冒号后面的)给出了数据资源所处位置的有关信息。如果协议是 file,则 URL 的其余部份是文件的路径。对于 ftp 和 http 协议,URL 的其余部份标识了主机并可选地给出某个更详尽的地址路径。例如,以下是 JavaSoft 主页的 URL。该 URL 只标识了主机: http://java.sun.com 从该主页开始浏览,就可以进到许多其它的网页中,其中之一就是 JDBC 主页。JDBC 主页的 URL 更为具体,它看起来类似: http://java.sun.com/products/jdbc 2.1.3 JDBC URL JDBC URL 提供了一种标识数据库的方法,可以使相应的驱动程序能识别该数据库并与之建立连接。实际上,驱动程序编程员将决定用什么 JDBC URL 来标识特定的驱动程序。用户不必关心如何来形成 JDBC URL;他们只须使用与所用的驱动程序一起提供的 URL 即可。JDBC 的作用是提供某些约定,驱动程序编程员在构造他们的 JDBC URL 时应该遵循这些约定。 由于 JDBC URL 要与各种不同的驱动程序一起使用,因此这些约定应非常灵活。首先,它们应允许不同的驱动程序使用不同的方案来命名数据库。例如, odbc 子协议允许(但并不是要求) URL 含有属性值。 第二,JDBC URL 应允许驱动程序编程员将一切所需的信息编入其中。这样就可以让要与给定数据库对话的 applet 打开数据库连接,而无须要求用户去做任何系统管理工作。 第三, JDBC URL 应允许某种程度的间接性。也就是说,JDBC URL 可指向逻辑主机或数据库名,而这种逻辑主机或数据库名将由网络命名系统动态地转换为实际的名称。这可以使系统管理员不必将特定主机声明为 JDBC 名称的一部份。网络命名服务(例如 DNS、 NIS 和 DCE )有多种,而对于使用哪种命名服务并无限制。 JDBC URL 的标准语法如下所示。它由三部分组成,各部分间用冒号分隔: jdbc:: JDBC URL 的三个部分可分解如下: jdbc ─ 协议。JDBC URL 中的协议总是 jdbc。 ─ 驱动程序名或数据库连接机制(这种机制可由一个或多个驱动程序支持)的名称。子协议名的典型示例是 "odbc",该名称是为用于指定 ODBC 风格的数据资源名称的 URL 专门保留的。例如,为了通过 JDBC-ODBC 桥来访问某个数据库,可以用如下所示的 URL: jdbc:odbc:fred 本例中,子协议为 "odbc",子名称 "fred" 是本地 ODBC 数据资源。 如果要用网络命名服务(这样 JDBC URL 中的数据库名称不必是实际名称),则命名服务可以作为子协议。例如,可用如下所示的 URL : jdbc:dcenaming:accounts-payable 本例中,该 URL 指定了本地 DCE 命名服务应该将 数据库名称 "accounts-payable" 解析为更为具体的 可用于连接真实数据库的名称。 ─ 一种标识数据库的方法。子名称可以依不同的子协议而变化。它还可以有子名称的子名称(含有驱动程序编程员所选的任何内部语法)。使用子名称的目的是为定位数据库提供足够的信息。前例中,因为 ODBC 将提供其余部份的信息,因此用 "fred" 就已足够。然而,位于远程服务器上的数据库需要更多的信息。例如,如果数据库是通过 Internet 来访问的,则在 JDBC URL 中应将网络地址作为子名称的一部份包括进去,且必须遵循如下所示的标准 URL 命名约定: //主机名:端口/子协议 假设 "dbnet" 是个用于将某个主机连接到 Internet 上的协议,则 JDBC URL 类似: jdbc:dbnet://wombat:356/fred 2.1.4 "odbc" 子协议 子协议 odbc 是一种特殊情况。它是为用于指定 ODBC 风格的数据资源名称的 URL 而保留的,并具有下列特性:允许在子名称(数据资源名称)后面指定任意多个属性值。odbc 子协议的完整语法为: jdbc:odbc:[;=]* 因此,以下都是合法的 jdbc:odbc 名称: jdbc:odbc:qeor7 jdbc:odbc:wombat jdbc:odbc:wombat;CacheSize=20;ExtensionCase=LOWER jdbc:odbc:qeora;UID=kgh;PWD=fooey 2.1.5 注册子协议 驱动程序编程员可保留某个名称以将之用作 JDBC URL 的子协议名。当 DriverManager 类将此名称加到已注册的驱动程序清单中时,为之保留该名称的驱动程序应能识别该名称并与它所标识的数据库建立连接。例如,odbc 是为 JDBC- ODBC 桥而保留的。示例之二,假设有个 Miracle 公司,它可能会将 "miracle" 注册为连接到其 Miracle DBMS 上的 JDBC 驱动程序的子协议,从而使其他人都无法使用这个名称。 JavaSoft 目前作为非正式代理负责注册 JDBC 子协议名称。要注册某个子协议名称,请发送电子邮件到下述地址: jdbc@wombat.eng.sun.com 2.1.6 发送 SQL 语句 连接一旦建立,就可用来向它所涉及的数据库传送 SQL 语句。JDBC 对可被发送的 SQL 语句类型不加任何限制。这就提供了很大的灵活性,即允许使用特定的数据库语句或甚至于非 SQL 语句。然而,它要求用户自己负责确保所涉及的数据库可以处理所发送的 SQL 语句,否则将自食其果。例如,如果某个应用程序试图向不支持储存程序的 DBMS 发送储存程序调用,就会失败并将抛出异常。JDBC 要求驱动程序应至少能提供 ANSI SQL-2 Entry Level 功能才可算是符合 JDBC 标准TM 的。这意味着用户至少可信赖这一标准级别的功能。 JDBC 提供了三个类,用于向数据库发送 SQL 语句。Connection 接口中的三个方法可用于创建这些类的实例。下面列出这些类及其创建方法: Statement ─ 由方法 createStatement 所创建。Statement 对象用于发送简单的 SQL 语句。 PreparedStatement ─ 由方法 prepareStatement 所创建。PreparedStatement 对象用于发送带有一个或多个输入参数( IN 参数)的 SQL 语句。PreparedStatement 拥有一组方法,用于设置 IN 参数的值。执行语句时,这些 IN 参数将被送到数据库中。PreparedStatement 的实例扩展了 Statement ,因此它们都包括了 Statement 的方法。PreparedStatement 对象有可能比 Statement 对象的效率更高,因为它已被预编译过并存放在那以供将来使用。 CallableStatement ─ 由方法 prepareCall 所创建。CallableStatement 对象用于执行 SQL 储存程序 ─ 一组可通过名称来调用(就象函数的调用那样)的 SQL 语句。CallableStatement 对象从 PreparedStatement 中继承了用于处理 IN 参数的方法,而且还增加了用于处理 OUT 参数和 INOUT 参数的方法。 以下所列提供的方法可以快速决定应用哪个 Connection 方法来创建不同类型的 SQL 语句: createStatement 方法用于: 简单的 SQL 语句(不带参数) prepareStatement 方法用于: 带一个或多个 IN 参数的 SQL 语句 经常被执行的简单 SQL 语句 prepareCall 方法用于: 调用已储存过程 2.1.7 事务 事务由一个或多个这样的语句组成:这些语句已被执行、完成并被提交或还原。当调用方法 commit 或 rollback 时,当前事务即告就结束,另一个事务随即开始。 缺省情况下,新连接将处于自动提交模式。也就是说,当执行完语句后,将自动对那个语句调用 commit 方法。这种情况下,由于每个语句都是被单独提交的,因此一个事务只由一个语句组成。如果禁用自动提交模式,事务将要等到 commit 或 rollback 方法被显式调用时才结束,因此它将包括上一次调用 commit 或 rollback 方法以来所有执行过的语句。对于第二种情况,事务中的所有语句将作为组来提交或还原。 方法 commit 使 SQL 语句对数据库所做的任何更改成为永久性的,它还将释放事务持有的全部锁。而方法 rollback 将弃去那些更改。 有时用户在另一个更改生效前不想让此更改生效。这可通过禁用自动提交并将两个更新组合在一个事务中来达到。如果两个更新都是成功的,则调用 commit 方法,从而使两个更新结果成为永久性的;如果其中之一或两个更新都失败了,则调用 rollback 方法,以将值恢复为进行更新之前的值。 大多数 JDBC 驱动程序都支持事务。事实上,符合 JDBC 的驱动程序必须支持事务。DatabaseMetaData 给出的信息描述 DBMS 所提供的事务支持水平。 2.1.8 事务隔离级别 如果 DBMS 支持事务处理,它必须有某种途径来管理两个事务同时对一个数据库进行操作时可能发生的冲突。用户可指定事务隔离级别,以指明 DBMS 应该花多大精力来解决潜在冲突。例如,当事务更改了某个值而第二个事务却在该更改被提交或还原前读取该值时该怎么办? 假设第一个事务被还原后,第二个事务所读取的更改值将是无效的,那么是否可允许这种冲突? JDBC 用户可用以下代码来指示 DBMS 允许在值被提交前读取该值(“dirty 读取”),其中 con 是当前连接: con.setTransactionIsolation(TRANSACTION_READ_UNCOMMITTED); 事务隔离级别越高,为避免冲突所花的精力也就越多。Connection 接口定义了五级,其中最低级别指定了根本就不支持事务,而最高级别则指定当事务在对某个数据库进行操作时,任何其它事务不得对那个事务正在读取的数据进行任何更改。通常,隔离级别越高,应用程序执行的速度也就越慢(由于用于锁定的资源耗费增加了,而用户间的并发操作减少了)。在决定采用什么隔离级别时,开发人员必须在性能需求和数据一致性需求之间进行权衡。当然,实际所能支持的级别取决于所涉及的 DBMS 的功能。 当创建 Connection 对象时,其事务隔离级别取决于驱动程序,但通常是所涉及的数据库的缺省值。用户可通过调用 setIsolationLevel 方法来更改事务隔离级别。新的级别将在该连接过程的剩余时间内生效。要想只改变一个事务的事务隔离级别,必须在该事务开始前进行设置,并在该事务结束后进行复位。我们不提倡在事务的中途对事务隔离级别进行更改,因为这将立即触发 commit 方法的调用,使在此之前所作的任何更改变成永久性的。
发表评论
-
JS..........
2009-12-04 03:22 14481.Jquery支持JSON 发送请求的方法 $ ... -
HTML
2009-12-04 03:20 1213<table> <tr> & ... -
DOM那点事儿。。
2009-12-02 00:35 1460DOM简介 DOM的接口和类 ... -
转载啊
2009-12-01 22:13 1285<!DOCTYPE html PUBLIC &qu ... -
JSP的7个动作指令
2009-11-30 17:10 2036JSP动作指令主要有如 ... -
JSP内置对象
2009-11-30 17:00 1938JSP脚本中包含9个内置对象,这9个内置对象都是Serv ... -
Exception对象
2009-11-30 16:38 1209Exception对象是Throwable的子类,代表着JSP ... -
pageContext对象
2009-11-30 16:19 10691使用pageContext可以访问page、reques ... -
Java图片切割
2009-11-30 16:03 4155protected void processReque ... -
Js实现图片切割
2009-11-30 01:21 2255//图片切割 var ImgCropper = Cla ... -
Js获取所有文本节点
2009-11-30 00:25 4423<script type="text/ ... -
AJAX的校验
2009-11-29 23:27 1112Validate.html <html> ... -
ANT工具使用
2009-11-28 00:23 1601ant使用: 1.下载ant构建工具1.7.1 2. ... -
编程单词
2009-11-28 00:21 950+release #n.释放, 排放, 解除释放令公映 ... -
JavaEnum
2009-11-27 15:32 878public class WeekDay { ... -
JS中获取节点下元素
2009-11-26 23:01 2045<html> <head> ... -
JavaScript遍历数组
2009-11-22 17:37 1388function ForInDemo() { // 创 ... -
Javascript数组遍历
2009-11-22 17:32 1304function ForInDemo() { // 创 ... -
JavaScript的一个随即例子
2009-11-22 01:44 967<!DOCTYPE HTML PUBLIC " ... -
Swing小程序
2009-11-22 01:17 846import java.awt.*; import ...
相关推荐
Java JDBC(Java Database Connectivity)是Java编程语言中用于与各种关系数据库进行交互的一组接口和类。它作为标准API,允许开发人员通过编写Java代码来访问和操作数据库,无需了解数据库特定的SQL语法或者驱动...
本资料"java_database_programming_with_jdbc.rar"聚焦于这一主题,旨在帮助开发者深入理解并熟练掌握Java数据库编程技术。 JDBC是Oracle公司提供的一个Java API,它为Java应用程序提供了统一的接口,使得程序可以...
"jdbc.zip_JDBC mysql java_mysql jdbc" 这个标题表明这是一个关于Java JDBC(Java Database Connectivity)技术的资源包,特别关注的是它与MySQL数据库的交互。"jdbc.zip" 指的是一个压缩文件,包含了与JDBC相关的...
在本套“JDBC.rar_database_java programming_sun training”资料中,你将深入学习如何利用Java技术进行数据库应用程序的开发。 首先,让我们了解一下JDBC的基本概念。JDBC提供了一种标准的API,它定义了Java程序与...
Java JDBC (Java Database Connectivity) 是Java编程语言中用于与各种关系型数据库进行交互的一套标准接口。MySQL是一款广泛使用的开源关系型数据库管理系统,它与Java的JDBC接口结合,为开发者提供了强大的数据操作...
Hive JDBC(Java Database Connectivity)是Hive提供的一种接口,使得其他编程语言,如Java,能够通过JDBC驱动程序与Hive进行交互,实现数据查询、分析和操作。本教程将深入讲解如何使用Hive JDBC在Java项目中建立与...
Java Database Connectivity(JDBC)是Java编程语言中用于与各种数据库进行交互的一种API。这个"Java_Database_Connectivity_JDBC_2012.rar_oracle"压缩包文件,特别是结合其描述“oracle分布式数据库java连接服务器...
Java JDBC(Java Database Connectivity)是Java编程语言与各种数据库之间通信的标准接口,它允许Java程序通过JDBC API来访问和操作数据库。在本教程中,我们将深入探讨如何在Java环境下,特别是MyEclipse开发环境中...
本资料包“java_database.rar”聚焦于JAVA与数据库的交互,涵盖了基础操作、数据库连接池以及远程数据库访问等内容。以下是对这些知识点的详细解释: 1. **Java数据库连接(JDBC)**: JDBC是Java语言访问数据库的...
Java JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的一组接口和类。这个项目"JAVAJDBC.rar"显然包含了使用Java JDBC技术实现的一个校园卡信息管理系统,该系统允许管理员和学生两类...
在IT行业中,JSP(JavaServer Pages)与JDBC(Java Database Connectivity)是两种非常重要的技术,它们在构建动态Web应用程序以及与数据库交互时发挥着关键作用。标题"JSP+JDBC+DB.rar_ jsp jdbc_jdbc_jdbc jsp_...
在IT行业中,JDBC(Java Database Connectivity)是一个关键的组件,它允许Java应用程序与各种数据库进行交互。在“Day22-JDBC初识”这个学习主题中,我们将深入理解JDBC的基本概念、工作原理以及如何在Java程序中...
Java JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的一组接口和类。这个项目"java_jdbc_banking_project_jdbc_"显然是一个使用JDBC技术实现的银行管理系统的实例。在这个项目中,...
Java JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的一组接口和类。JDBC提供了一个标准的API,使得Java开发者能够通过编写Java代码来访问、操作数据库,无论底层数据库是Oracle、...
标题"JDBC+DAO.rar_DAO JDBC_java d_jdbc d_jdbc dao_留言系统"中,关键词主要包括"JDBC"、"DAO"和"留言系统",这表明这是一个基于Java的数据库操作(JDBC)和数据访问对象(DAO)模式实现的简单留言系统。...
在Java编程语言中,JDBC(Java Database Connectivity)是一个用于与各种数据库进行交互的标准接口。JDBC提供了一套规范,使得Java程序员可以使用统一的方法来访问数据库,包括Oracle数据库。Oracle是世界上最流行的...
JDBC(Java Database Connectivity)是Java编程语言中用于与数据库交互的一种接口标准,由Sun Microsystems公司开发并定义,现在已经成为Java平台的标准。JDBC提供了一组API,使得开发者能够使用Java程序来连接并...
JDBC是Java Database Connectivity的缩写,它是Java语言中的一个API,提供了规范化的接口,用于建立、执行和管理SQL语句。通过JDBC,Java程序员可以向数据库发送SQL命令,获取查询结果,并对结果进行处理。JDBC不仅...
这个“Java_Database_CreateTable_module.rar”压缩包文件显然包含了一个关于如何在Java中创建数据库表的教程或代码示例。在这个模块中,我们将深入探讨Java数据库编程的基础知识,特别是如何使用SQL语句在数据库中...
Java JDBC (Java Database Connectivity) 是Java编程语言与各种数据库交互的一种标准接口,它允许Java程序通过API来访问和操作数据库。在本示例中,我们关注的是使用JDBC与MySQL数据库的连接,这也是一个常见的应用...