编程红宝书(珍藏版) ava 完金自学手册 第10章JDBC链接数据库 JDBC链接数据库主要讲解如何使用Java的JDBC ( Java dataBase Connectivity)实现与不同数 据库厂商,如 Oracle、 SQL Server、 Access等的 链接。本章在介绍实现数据库链接常用类和接口 的基础上,实现了一个数据库链接的实例,通过 该实例读者可以掌握使用JDBC实现基本的数据库 操作,如读、写、删、改数据库记录等。本节和 下一节,将深入讨论如何使用 JDBC API。 Q想桃工业出隙社
第10章 JDBC链接数据库 • JDBC链接数据库主要讲解如何使用Java的JDBC (Java DataBase Connectivity)实现与不同数 据库厂商,如Oracle、SQL Server、Access等的 链接。本章在介绍实现数据库链接常用类和接口 的基础上,实现了一个数据库链接的实例,通过 该实例读者可以掌握使用JDBC实现基本的数据库 操作,如读、写、删、改数据库记录等。本节和 下一节,将深入讨论如何使用JDBC API
编程红宝书(珍藏版) ava 完金自学手 0.1JDBC简介 本节首先介绍什么是JDBC,了解 Java jDbc的目标 及如何实现数据库平台的无关性。了解了这些基 本知识后,才能更熟练的使用 JDBC API实现数据 库的链接和各种数据库访问行为,从而最终掌握 使用JDBC编写基本的数据库应用程序 Q想桃工业出隙社
10.1 JDBC简介 • 本节首先介绍什么是JDBC,了解Java JDBC的目标 及如何实现数据库平台的无关性。了解了这些基 本知识后,才能更熟练的使用JDBC API实现数据 库的链接和各种数据库访问行为,从而最终掌握 使用JDBC编写基本的数据库应用程序
编程红宝书(珍藏版) ava 完金自学手 10.1.1什么是JDBC JDBC是Sun开发的一套数据库访问编程接口,是 种SQL级别的API。它由Java语言编写完成,所以 具有很好的跨平台特性,使用JDBC编写的数据库 应用程序可以在任何支持Java的平台上运行,而 不必在不同的平台上编写不同的应用程序,使用 JDBC API就不必为访问 Access数据库而专门写 个程序,为访问 Oracle数据库而专门写一个程序, 只需要一个程序就够了,通过它可以向数据库发 送SL语句、执行数据库操作 Q想桃工业出隙社
10.1.1 什么是JDBC • JDBC是Sun开发的一套数据库访问编程接口,是一 种SQL级别的API。它由Java语言编写完成,所以 具有很好的跨平台特性,使用JDBC编写的数据库 应用程序可以在任何支持Java的平台上运行,而 不必在不同的平台上编写不同的应用程序,使用 JDBC API就不必为访问Access数据库而专门写一 个程序,为访问Oracle数据库而专门写一个程序, 只需要一个程序就够了,通过它可以向数据库发 送SQL语句、执行数据库操作
编程红宝书(珍藏版) ava 完金自学手 10.1.2JDBC的目标 当前数据库的主要问题之一是不同厂商数据库产品的功能竞争,虽然他们 都依据标准的结构化查询语言( Structured Query Language,SQL-92), 但各个厂商还是有标准以外的东西,或者并没有完全按照标准结构化查询 语言的规范实现自己的数据库产品。如果一个数据库应用程序所链接的数 据库发生变化(如从 Oracle变为 Sybase),没有JDBC这种变化的实现就 很困难,必须重新编写数据库访问程序,这当然不是件好事。那么如何构 建与数据库平台无关的数据库应用程序呢?这就是JDBC的目标。 JDBC的体系结构如图所示,通过该图可以清楚的看到,对应用程序而言 JDBC屏蔽了下层数据库的差异,应用程序看到的是统一的数据库接口 applicatin applicaton JDEC JDBC体系结构 Q想桃工业出隙社
10.1.2 JDBC的目标 • 当前数据库的主要问题之一是不同厂商数据库产品的功能竞争,虽然他们 都依据标准的结构化查询语言(Structured Query Language,SQL-92), 但各个厂商还是有标准以外的东西,或者并没有完全按照标准结构化查询 语言的规范实现自己的数据库产品。如果一个数据库应用程序所链接的数 据库发生变化(如从Oracle 变为Sybase),没有JDBC这种变化的实现就 很困难,必须重新编写数据库访问程序,这当然不是件好事。那么如何构 建与数据库平台无关的数据库应用程序呢?这就是JDBC的目标。 • JDBC的体系结构如图所示,通过该图可以清楚的看到,对应用程序而言, JDBC屏蔽了下层数据库的差异,应用程序看到的是统一的数据库接口
编程红宝书(珍藏版) ava 完金自学手 10.1.3JDBC如何实现数据库的平台无关性 为了让JDBC与平台无关,JDBC设计了“驱动程序 管理类”,该类会动态维护目前所有数据库产品 的驱动程序对象,通过加载相应的数据库驱动程 序就可以实现对数据库的访问。这里的“驱动程 序管理器”就是 Drivermanager类 Drivermanager类存有已注册的 Driver类的清单 当调用方法 getConnection时,它将检查清单中的 每个驱动程序,直到找到可与URL中指定的数据库 进行链接的驱动程序为止。 Driver的方法 connect 使用这个URL来建立实际的链接。具体如何实现数 据库的链接,我们通过在10.3节的基本概念和具 体示例再详细介绍 Q想桃工业出隙社
10.1.3 JDBC如何实现数据库的平台无关性 • 为了让JDBC与平台无关,JDBC设计了“驱动程序 管理类”,该类会动态维护目前所有数据库产品 的驱动程序对象,通过加载相应的数据库驱动程 序就可以实现对数据库的访问。这里的“驱动程 序管理器”就是DriverManager类。 • DriverManager类存有已注册的Driver类的清单。 当调用方法getConnection时,它将检查清单中的 每个驱动程序,直到找到可与URL中指定的数据库 进行链接的驱动程序为止。Driver的方法connect 使用这个URL来建立实际的链接。具体如何实现数 据库的链接,我们通过在10.3节的基本概念和具 体示例再详细介绍