第4章 JDBC简介.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 JDBC简介

第4章 JDBC简介 数据库是数据管理最重要的途径之一,也是Web应用最重要的数据源。在早期,对数据库的访问都是使用数据库厂商提供的专用API(application programming interface,应用程序编程接口)进行的。Java语言发布后,为了支持数据库的访问操作,Sun公司于1996年推出了JDBC(Java database connectivity,Java数据库连接)。JDBC定义了一套访问关系数据库的标准Java类库。通过JDBC API,用户可以方便地操作关系数据库。此外,JDBC还为数据库厂商提供了一个标准的体系架构,厂商能够针对数据库产品提供特定的JDBC驱动程序,从而提高了Java访问数据库的效率。 本章逐一介绍了JDBC API主要的接口功能和使用方式,并给出了相应的示例程序。最后利用JDBC API实现了一个简单的学生管理系统,其中包括学生信息的增加、查看、修改和删除等功能。 4.1SQL语言与JDBC SQL(structured query language,结构化查询语言)语言是于1974年由Boyce和Chamberlin提出,并在1979年由IBM公司在其研制的关系型数据库System R中实现的。由于SQL语言功能丰富、语法简洁,因此深受用户的喜爱。1986年10月,美国国家标准局批准SQL语言作为关系型数据库的标准语言。SQL语言是一种介于关系代数和关系演算之间的结构化查询语言,但SQL语言不仅仅局限于查询,它是一个通用的、功能强大的关系型数据库语言。 在基于Java的应用程序开发过程中,为了降低程序开发的复杂度,提高程序开发效率,通常使用JDBC和SQL相互配合,共同完成访问关系型数据库的工作。JDBC负责将SQL语句传递给数据库,然后从数据库中获取返回结果,并组装为结果集返回给客户,其运行方式如下图所示。 4.2JDBC API JDBC API是Java平台提供的一个标准的数据库访问接口集,是支持数据库操作的类与方法的集合,利用它开发人员在编写应用程序时不必考虑所用的数据库。JDBC API 包括java.sql和javax.sql两个包。java.sql包包含了JDBC的核心API;而javax.sql包则包含了JDBC标准的扩展API。JDBC API 提供了以下基本功能: (1)建立与数据源的连接。 (2)向数据源发送查询和更新语句。 (3)处理从数据源得到的结果。 实现上述功能的JDBC API 的核心类和接口均定义在java.sql包中。熟练掌握这些类和接口的使用方法,是JDBC程序设计的基础,也是构建更复杂、更高级的应用程序的必要条件。 4.2.1管理驱动程序类DriverManager DriverManager类是JDBC的管理层,作用于用户和数据库驱动程序之间。它跟踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接。另外,DriverManager类也处理诸如驱动程序登录时间限制,以及登录和跟踪消息的显示等事务。DriverManager类中常用的方法如下表所示。 4.2.2数据库连接类Connection 4.2.3SQL声明类Statement Statement类用于将SQL语句发送到数据库中。实际上有三种Statement类:Statement、PreparedStatement和CallableStatement,它们都专用于发送特定类型的SQL语句。其中,Statement用于执行不带参数的简单SQL语句。Statement对象用Connection的createStatement方法创建,具体格式如下: Statement stmt=conn.createStatement(); 4.2.4PreparedStatement类 由上一节可知,Statement类使用SQL语句直接处理查询。在执行过程中,Statement类把SQL语句提交给数据库,数据库分析执行SQL语句,然后将执行结果返回给用户。值得注意的是,使用Statement类,即使重复执行同一查询,SQL语句也要由数据库再次格式化;尤其是当SQL语句中包含where子句时,每一次查询都需要数据库解析、优化,然后才能返回执行结果。 因此,使用Statement类将会在很大程度上影响重复数据查询的执行效率。 为了提高查询效率,对于同一个查询语句,JDBC API提供了PreparedStatement类来优化这一过程。PreparedStatement是Statement的扩展,代表了一条预设SQL语句。预设语句是指预先将SQL语句传送给数据库,并在数据库中被编译、优化并缓存。也就是说,使用PreparedStatement类,SQL语句不需要在每次执

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档