Java网络编程精解讲义12
时间:2025-05-13
时间:2025-05-13
Java网络编程精解作者:孙卫琴 参考书籍:<<Java网络编程精解>> 技术支持网址:http://www.77cn.com.cn
第12章 通过JDBC API访问数据库
12.1 JDBC的实现原理 12.2 安装和配置MySQL数据库 12.3 JDBC API简介 12.4 JDBC API的基本用法 12.5 可滚动以及可更新的结果集 12.6 行集 12.7 调用存储过程 12.8 处理Blob和Clob类型数据 12.9 控制事务 12.10 数据库连接池参考《Java网络编程精解》的第12章
第12章 通过JDBC API访问数据库
JDK提供了JDBC API。JDBC是Java DataBase Connectivity的缩写。 JDBC的实现封装了与各种数据库服务器 通信的细节。Java程序通过JDBC API来 访问数据库,有以下优点:
(1)简化访问数据库的程序代码,无需涉 及与数据库服务器通信的细节。 (2)不依赖于任何数据库平台。同一个 Java程序可以访问多种数据库服务器。
第12章 通过JDBC API访问数据库
12.1 JDBC的实现原理
JDBC的实现包括三部分:
JDBC驱动管理器:java.sql.DriverManger类,由 SUN公司实现,负责注册特定JDBC驱动器,以及根 据特定驱动器建立与数据库的连接。 JDBC驱动器API:由SUN公司制定,其中最主要的 接口是java.sql.Driver接口。 JDBC驱动器:由数据库供应商或者其他第三方工具 提供商创建,也称为JDBC驱动程序。JDBC驱动器 实现了JDBC驱动器API,负责与特定的数据库连接, 以及处理通信细节。JDBC驱动器可以注册到JDBC 驱动管理器中。
12.1 JDBC的实现原理
12.1 JDBC的实现原理
SUN公司制定了两套API:
JDBC API:Java应用程序通过它来访问各种 数据库。 JDBC驱动器API:当数据库供应商或者其他 第三方工具提供商为特定数据库创建JDBC 驱动器时,该驱动器必须实现JDBC驱动器 API。
12.1 JDBC的实现原理
JDBC驱动器可分为以下四类:
第1类驱动器:JDBC-ODBC驱动器。 第2类驱动器:由部分Java程序代码和部分本地代 码组成。用于与数据库的客户端API通信。 第3类驱动器:完全由Java语言编写的类库。它用 一种与具体数据库服务器无关的协议将请求发送给 服务器的特定组件,再由该组件按照特定数据库协 议对请求进行翻译,并把翻译后的内容发送给数据 库服务器。 第4类驱动器:完全由Java语言编写的类库。它直 接按照特定数据库的协议,把请求发送给数据库服 务器。
12.2 安装和配置MySQL数据库
假定MySQL安装后的根目录为<MYSQL_HOME>,在 <MYSQL_HOME>/bin目录下提供了mysql.exe,它是 MySQL的客户程序,它支持在命令行中输入SQL语句, 图12-4显示了MySQL客户程序的界面。
12.2 安装和配置MySQL数据库
本节课访问数据库的例子都以STOREDB数据库 为例。
在STOREDB数据库中有三张表:
CUSTOMERS表:保存了客户信息。本章多数例子 都访问这张表。 ORDERS表:保存了客户发出的订单信息。 ORDERS表的ORDER_NUMBER字段表示订单编号, PRICE字段表示订单价格。ORDERS表的 CUSTOMER_ID外键参照CUSTOMERS表的ID主键, 参见图12-5。 ACCOUNTS表:保存了银行账户的信息,BALANCE 字段表示账户的余额。
12.2 安装和配置MySQL数据库
例程12-1的schema.sql是一个SQL脚本文件, 它包含了创建数据库STOREDB以及三张表的所 有SQL语句。例程12-1 schema.sql
drop database if exists STOREDB; create database STOREDB; use STOREDB;create table CUSTOMERS ( ID bigint not null auto_increment primary key, NAME varchar(16) not null, AGE INT, ADDRESS varchar(255) );
12.2 安装和配置MySQL数据库create table ORDERS ( ID bigint not null auto_increment primary key, ORDER_NUMBER varchar(16) not null, PRICE FLOAT, CUSTOMER_ID bigint, foreign key(CUSTOMER_ID) references CUSTOMERS(ID) ); create table ACCOUNTS ( ID bigint not null, NAME varchar(15), BALANCE decimal(10,2), primary key (ID) ) type=INNODB; insert into CUSTOMERS(ID,NAME,AGE,ADDRESS) values(1, '小张',23, '北京'); … insert into ORDERS(ID,ORDER_NUMBER,PRICE,CUSTOMER_ID) values(1, '小张_001',100.12, 1); …
select * from CUSTOMERS; select * from ORDERS;
12.3 JDBC API简介
JDBC API主要位于java.sql包中,关键的接口 与类包括:
Driver接口和DriverManager类:前者表示驱动器, 后者表示驱动管理器。 Connection接口:表示数据库连接。 Statement接口:负责执行SQL语句。 PreparedStatement接口:负责执行预准备的SQL语 句。 CallableStatement接口:负责执行SQL存储过程。 ResultSet接口:表示SQL查询语句返回的结果集。
12.3 JDBC API简介
图12-6为java.sql包中主要的接口与类的类框图。
12.3 JDBC API简介1. Driver接口和DriverManager类
所有JDBC驱动器都必须实现Driver接口,JDBC驱动器由数据库厂 商或第三方提供。 DriverManager类主要包括以下方法: registerDriver(Driver driver):在DriverManger中注册JDBC驱 动器。 getConnection(String url, String user, String pwd) :建立和 数据库的连接,并返回表示数据库连接的Connection对象。 setLoginTimeOut(int seconds):设定等待建立数据库连接的 超时时间。 setLogWriter(PrintWriter out) :设定输出JDBC日志的 PrintWriter对象。
12.3 JDBC API简介2. Connection接口 Connection接口主要包括以下方法:
getMetaData():返回表示数据库的元数据的 DatabaseMetaData对象。元数据包含了描述数据库 的相关信息,本章12.4.10节(元数据)进一步介绍 了元数据的作用。 createStatement():创建并返回 …… 此处隐藏:1240字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:高层外脚手架施工方案
下一篇:2014八下历史与社会新教材复习