第十章 Java数据库编程
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TYPE 2:JDBC driver
Java应用程序
数据源
JDBC API
JDBC 驱动程序
www.themegallery.com
使用JDBC
导入包 加载或注册适当的JDBC驱动程序 创建数据库连接 创建JDBC命令 设置JDBC命令的SQL语句 执行JDBC命令 处理结果集 关闭结果集 关闭JDBC命令 关闭JDBC数据库连接
JDBC规范由SUN公司提供给各数据库厂商,由SUN公司
与各大数据库厂商遵循标准规格设计出最佳JDBC驱动
程序。
JDBC与数据库交互过程
Java应用程序
JDBC API 驱动程序管理器
数据源
网络协议 /API
JDBC 驱动程序
应用程序:应用程序调用JDBC方法,将SQL语句发送到数据 库并检索结果。 驱动程序管理器:将应用程序连接至正确的JDBC驱动程序 驱动程序:是JDBC API与数据库系统之间的桥梁。
(2)SELECT * FROM grade ORDER BY数学,语文
(3)SELECT * FROM grade ORDER BY数学 desc 低排序
注:从高到
功能说明:从grade表中取出所有字段,并按数学成绩倒序。 功能说明:从grade表中取出前五条记录的所有字段。
(4)SELECT top 5 * FROM grade
www.themegallery.com
SQL语言概述
SQL(Structured Query Language)是关系型数据库 的标准语言,是由国际标准组织提出的,各种关系型 数据库都支持SQL指令,Oracle在基本的SQL基础上进 行了扩充。
SQL语句有如下的两大特点
(1)SQL是一种类似于英语的语言,很容易理解和书写。 (2)SQL语言是非过程化的语言(第四代语言)。SQL集DDL (Data Definition Language:数据定义语言),DML(Data Manipulation Language:数据操作语言)和DCL(Data Control Language:数据控制语言)于一体。用SQL语言可以 实现数据库生命周期的全部活动。
应用程序
JDBC驱动程序 管理器
JDBC本地 驱动程序
JDBC-ODBC桥 驱动程序 用户网络 ODBC
JDBC网络 驱动程序
本地协议 JDBC驱动程序
用户本地请求数据 库访问
使用网络协议访问 数据库
使用本地协议访问 数据库
JDBC数据访问接口
简单地分,JDBC有两部分组成:JDBC API和 JDBC Driver Interface. JDBC API就是提供给“客户”的一组独立于数据 库的API,对任何数据库的操作,都可以用这组API 来进行. JDBC Driver Interface是面向JDBC驱动程序开发 商的编程接口,把通用的API翻译成特定数据库能懂 的 “指令”,它会把我们通过JDBC API发给数据 库的通用指令翻译给他们自己的数据库.
第十章 Java数据库编程
内容提要
数据库有关概念;
介绍JDBC的结构; 重点介绍JDBC访问几种数据库的基本过程;
数据库应用开发简介
作为有效的数据存储和组织管理工具, 数据库的应用日益广泛 目前主流的数据库产品有Oracle、SQL Server、DB2和SyBase等多种。 在数据库开发领域中,有三个方面需要 掌握:SQL语言、ODBC数据访问接口和 JDBC数据库访问接口。
INSERT INTO指令
(3)INSERT INTO指令:添加数据记录。 基本格式1:INSERT INTO 数据表VALUES (字段新值) 基本格式2:INSERT INTO 数据表(字段一,字段二,……) VALUES (字段新值) 其中关键字两种格式的区别是:当values含有数据库表所有字段 的值,并且顺序和数据库字段一致时,就可以省略数据库表后面 的字段名称。 例1:INSERT INTO grade(学号, 姓名, 数学) VALUES (1234, '周 润发',70) 例2:INSERT INTO grade VALUES (5678, '周wk.baidu.com发',70,80,90) 功能说明:该语句等价于: INSERT INTO grade(学号, 姓名, 语文, 数学, 英语) VALUES (5678, '周润发',70,80,90)
SQL可以为各种支持SQL-92标准的数据库管理系统 (DBMS)所接受和处理,通常各种DBMS都提供图形 用户界面,以使用户直接对数据库进行操作。但SQL语 言本身并不是完整的编程语言,还需要与其他高级编 程语言配合,才能实现应用程序对数据库的访问操作。
JDBC 概念
JDBC (Java Database Connectivity)API是Java程序语言 内针对数据库开发提供的编程接口,使得开发人员可以 使用纯Java的方式与关系型数据库进行交互.
说明
注册驱动程序,并通过其工厂方法getConnection创 建连接
创建驱动程序实例,实现连接数据库 实现应用程序与DBMS之间的连接会话
Statement
PreparedStatement CallableStatement ResultSet
撰写欲执行的SQL语句
继承Statement, 通过占位符实现一次加载多次调 用 继承Statement,,用来调用数据库的存储过程 存放SQL语句执行结果
Application
ODBC manager
ODBC Drivers
DataSources
TYPE 1:JDBC-ODBC brige plus ODBC driver
Java应用程序
数据源
JDBC API
JDBC-ODBC桥
ODBC API
ODBC层
www.themegallery.com
JDBC数据访问接口
2. 基本句型二:使用条件查询
SELECT字段名 FROM数据表 WHERE 筛选条件
测试句型如下。
例1. SELECT * FROM grade WHERE数学>60
功能说明:把所有数学成绩大于60分的记录选出来。
例2. SELECT * FROM grade WHERE数学=300 or 语文=300
功能说明:把数学成绩等于300分或者语文成绩等于300分的人选出来。
例3. Like子句基本格式一:“_”匹配。
功能说明:每个下划线匹配一个任意字符,注意只匹配一个字符。比如:姓名 like „_敏‟,匹配姓名以“敏”字结尾且字数等于二的所有数据记录,如:“张敏”。
例4. Like子句基本格式二:“%”匹配。 比如:姓名 Like '%敏%',匹配姓名中出现“敏”的所有数据记录,如: “周惠敏”,“于敏”、“敏大”、“敏二”等。比如要在数据库中查询姓 江的人,只要利用一条SQL语句就可以了,SELECT * FROM 数据库表 WHERE 姓名 Like '江%'。
基本语法:UPDATE 数据表 SET 字段值=新值 WHERE条件 例1:UPDATE grade SET 数学=数学+10 说明:将grade表 中所有人的成绩加10分 例2:UPDATE grade SET 数学=100 WHERE 姓名 like '%敏 %' 功能说明:将姓名中含有敏的人的数学成绩更新为100分
连接数据库
一个普通数据库的连接过程为: 1.加载驱动程序. 2.通过DriverManager到得一个与数据库 连接的句柄. 3.通过连结句柄绑定要执行的语句. 4.接收执行结果. 5.可选的对结果的处理. 6.必要的关闭和数据库的连接
涉及主要包
使用JDBC操作数据库涉及
java.sql javax.sql
基本SQL语句
基本的SQL语句包括DQL和DML。也就是 对数据库最常用的四大基本操作:查询 (Select)、插入(Insert)、更新 (Update)和删除(Delete)
DQL的3种基本格式
1. 基本句型一:(最简单的SELECT语句) SELECT 字段名 FROM 数据表 例1. SELECT * FROM grade 功能说明:将grade表中的所有字段取出来。 例2. SELECT 学号,姓名 FROM grade 功能说明:将grade表中学号和姓名字段取出来。 例3. SELECT学号,姓名,语文+数学+英语 as 总成绩 FROM grade 功能说明:将grade表中的学号和姓名取出来,并将语 文、数学和英语成绩相加产生虚拟列总成绩。
Java.sql:主要针对基本的数据库编程服务,如生成 连接执行语句等 javax.sql.:它引入了容器管理的连接池,分布式事 务等
导入包: import java.sql.*;
www.themegallery.com
常用的JDBC类与接口
类/接口
DriverManager类
Driver Connection
3. 基本句型三:(进行排序)
SELECT字段名 FROM 数据表 ORDER BY 字段名 测试句型如下。
(1)SELECT * FROM grade ORDER BY数学 高排序
注:从低到
功能说明:从grade表中取出所有字段,并按数学成绩排序。
功能说明:从grade表中取出所有字段,并按数学成绩排序,如果数 学成绩相同则按照语文成绩排序。
www.themegallery.com
1.装载驱动程序,建立ODBC-JDBC桥
使用JDBC的第一步是安装驱动程序。大多数数据库都 有JDBC驱动程序,常用的JDBC驱动程序如图所示。
使用代码装载: Class.forName(“驱动”);是一种显式地加载.当一个驱 动程序类被Classloader装载后,在溶解的过程 中,DriverManager会注册这个驱动类的实例. 这个调用是自动发生的,也就是说 DriverManager.registerDriver()方法被自动调用
SQL语言
SQL(Structured Query Language)是使用关系模型 的数据库语言,用于和各类数据库连接,提供通用的 数据管理和查询功能。SQL语言最初由IBM公司开发, 实现了关系数据库中的信息检索。后几经修改和完善, 被国际标准化组织确定为国际标准,目前执行的是 1992年制定的SQL-92标准。
JDBC连接方式四种
1、使用相关的数据库协议直连数据库(thin)。 速度快,最直接。需要一份驱动程序. 2、JDBC-ODBC桥式驱动。不需要准备驱动程 序,较方便。有平台依赖性。 3、Java到本地API。(OCI) 将JDBC的调用指令变换为对本地的数据库工 具的API的调用需要在本地上安装目标数据库 的客户端程序. 4、以与数据库无关的网络协议的方式发送 JDBC调用,数据库服务器端需要安装中间件.
为支持Java程序的数据 库操作功能,Java语言 采用了专门Java数据库 编程接口(JDBC,Java DataBase Connectivity),用于在 Java程序中实现数据库 操作功能并简化操作过 程。JDBC支持基本SQL 语句,提供多样化的数 据库连接方式,为各种 不同的数据库提供统一 的操作界面
DML的基本格式
(1)DELETE指令:删除数据记录。
基本语法:DELETE FROM 数据表 WHERE 条件 例:DELETE from grade WHERE数学=0
功能说明:删除所有数学成绩为零的记录,如果没有 WHERE子句,则删除所有记录。 (2)UPDATE指令:更新数据记录。
ODBC数据访问接口
开放式数据库互连ODBC (Open DataBase Connectivity)是微软公 司开发的一套开发数据 库系统应用程序接口规 范,它支持应用程序以 标准的ODBC函数和SQL 语句操作各种不同的数 据库。
ODBC数据访问接口
四个组成部分: 应用程序(Application) ODBC管理器(ODBC manager) ODBC驱动程序(ODBC Drivers) 数据源(DataSources ,数据库)