当前课程知识点:数据库概论 >  第九章 数据库应用与开发 >  9.2 Java访问数据库 >  Java访问数据库

返回《数据库概论》慕课在线视频课程列表

Java访问数据库在线视频

Java访问数据库

下一节:Video

返回《数据库概论》慕课在线视频列表

Java访问数据库课程教案、知识点、字幕

大家好

我是来自云南大学软件学院的包崇明

今天为大家作

Java访问SQL Server数据库的演示

本章以java语言访问

SQL Server数据库为例

介绍运用程序访问数据库系统的基本操作

Java通过JDBC

也就是Java数据库连接来访问数据库

JDBC是一种规范

它制定了数据库厂商

为Java程序员访问数据库

需要实现的类和接口标准

基于这个标准

Java数据库应用程序开发

可以独立于所采用的数据库系统

使得程序员只须写一遍程序

就可让它在

任何数据库管理系统平台上运行

目前主流的数据库系统

都提供了

遵循JDBC规范的JDBC驱动程序

Java应用程序可以通过

JDBC驱动来直接访问数据库服务器

如果一个数据库系统

没有提供相应的JDBC驱动

一般可通过

JDBC桥接ODBC的方式

来访问数据库

ODBC是微软公司主导的

开放数据库连接协议

采用JDBC来开发

Java数据库运用的主要步骤为

到相应的数据库网站下载JDBC驱动包

一般常见的数据库系统

都提供JDBC驱动程序类

以SQL Server作为示例

可到SQL Server网站

下载相应的JDBC驱动库

一般来说

针对不同的Java运行环境

SQL Server会提供不同的驱动文件包

注意根据JRE的版本号

下载对应的JDBC驱动包

在开发环境中建立一个java项目

并将JDBC驱动类库

放入可访问类路径下

如采用的是Eclipse开发

则在项目build path

下的libraries中进行配置

一般来说

通过JDBC访问数据库

都需要首先获得一个

数据库连接connection

然后通过这个连接

获得一个statement接口引用

在statement对象上面执行SQL语句

结果存储于ResultSet对象中

通过ResultSet对象提供的方法

可定位并访问表的行数据

在示例中

我们演示了

获得数据库连接的两种常见方法

通过驱动管理器DriverManager获得

和通过数据源对象获得

我们通过八个小例子

来演示编写并执行

没有带参数的select

insert

update

delete语句的方法

带参数的select和insert语句

调用带输入输出参数的存储过程

以及返回结果集的存储过程的方法

下面请同学们和我一起

来通过示例学习java访问数据库的方法

首先我采用

Eclipse作为开发环境

已经安装了合适的JDBC驱动包

并设置到可访问的类路径下

在Eclipse中

是在build path下的

libraries中进行配置

首先我们需要获得一个数据库连接

一般可通过两种方法获得

通过驱动管理器获得

或者通过数据源对象获得

程序演示了这两种连接的获得方法

通过驱动管理器获得连接

首先需要通过

Class的forName类方法

来注册数据库驱动程序

需要提供给forName方法一个字符串

形式的驱动器名称

SQL Server的JDBC驱动名称是

com.microsoft.sqlserver.jdbc.SQLServerDriver

不同的数据库系统驱动名不一样

可通过用户手册查询

注册后通过调用

DriverManager的类方法

getConnection获得连接

getConnection方法

接收一个包含数据库服务器的

IP地址或者域名

监听的端口

准备访问的数据库名

数据库用户名及口令

等信息的连接URL字符串作为参数

返回一个和指定数据库建立的连接对象

我们访问的本机安装的SQL Server

监听端口是1433

访问的数据库是cap

第二种方法是通过数据源对象获得

方法是

先生成一个SQLServer数据源对象

为该对象设置数据库服务器的地址

监听端口

所需要访问的数据库

用户名和口令等信息

最后通过调用数据源对象的

getConnection方法

获得相应连接

这种方法更加简洁

推荐采用这种方法获得

SQL Server数据库连接

我们通过switch语句

来演示这两种连接获得方法

变量connGetMethod为1的时候

使用驱动管理器获得

变量值为2的时候

使用数据源对象获得

获得一个连接后

我们就可以通过该连接

让数据库服务器

执行我们提交的SQL语句

不同类型的SQL语句执行方式不一样

如果执行的SQL语句不带参数

则通过Statement接口引用执行

如果SQL语句带参数

则通过

PreparedStatement接口引用

来执行

一个参数用一个问号来表示

执行前需要给参数赋值

如果我们调用的是存储过程

则需要用

CallableStatement接口

引用来执行

对应每种statement引用

一般都有两种执行方法

executeQuery和executeUpdate

如果对于访问结果集的select语句

使用executeQuery方法

对于insert update delete等更新语句

采用executeUpdate方法

我们在cap数据库的顾客信息表上

编写了八个示例来演示

不同类型SQL语句的使用方法

无参数select例子

无参数insert例子

无参数update例子

四无参数delete例子

五带参数select例子

六带参数insert例子

七带输入输出参数的存储过程调用例子

八返回结果集合的存储过程调用例子

我们设置变量

caseOrder的值

结合switch语句来演示不同的例子

示例1是无参数select例子

执行一条SQL语句

SELECT * FROM customers

对于无参数的SQL语句

需要调用连接的

createStatement方法

获得一个statement接口引用

对于select语句

调用statement接口的

executeQuery方法来执行

返回结果集

存放在一个resultset对象中

我们设计了一个方法

displayInfo

来显示结果集的内容

在displayInfo方法中

我们利用resultset对象的next方法

让其指向下一结果行来遍历结果数据

如果next方法返回空值

表示数据行已经循环遍历完毕

根据列的类型

调用getString

getDouble等方法

获得当前行的列数据

比如cid列是字符串类型的

我们调用getString来获得cid值

discnt是浮点型的

我们调用getDouble方法来获得

现在我们执行示例1

当前顾客信息表中的内容

显示在下端控制台窗口中

通过SQL Server管理平台

可看到两者的结果一致

现在我们看示例2

执行一个无参数insert语句

insert into customers

values c009张三 昆明 10

我们的目的是在顾客信息表中

插入一个cid为c009的顾客

依然是获得一个statement接口引用

调用statement接口上的

executeUpdate方法来执行该语句

下面我们看一下执行结果

可看到顾客信息表中已经添加了该用户

接下来是示例3

执行一个无参数update语句

update customers

set city等于北京

where cid等于c009

我们通过该语句来修改

刚插入的c009顾客的居住信息

将其居住城市修改为北京

调用statement接口的

executeUpdate方法来执行该语句

下面我们看一下执行结果

可看到顾客信息表中

已经更新了该用户的居住城市

示例4是执行一条无参数delete语句

delete from customers

where cid等于c009

将刚才插入的c009顾客

从顾客信息表中删除

调用statement接口的

executeUpdate方法来执行该语句

下面我们看一下执行结果

可看到c009顾客

已经从顾客信息表中删除了

示例5演示一个带参数select语句

select * from customers

where cid等于问号

参数在SQL语句中用问号来表示

这类语句通过在执行语句前

给参数动态赋值来提供灵活的查询手段

这类带参数的语句

需要PreparedStatement接口的

executeQuery方法来执行

这条语句中有一个字符串类型的参数

通过setString方法来对该参数赋值

语句的执行结果是查找

cid为c002的用户信息

控制台显示了我们获得了该用户的信息

示例6演示了一个带参数insert语句

插入用户的信息都用参数表示

需要用PreparedStatement接口的

executeUpdate方法来执行该语句

执行前

根据参数的不同的类型来对参数进行赋值

cid是字符串类型的

调用setString方法赋值

discnt是浮点型的

调用setDouble方法进行赋值

现在我们执行这个示例

在控制台中可看到

该用户已经插入到用户信息表中了

示例7演示

带输入输出参数的存储过程

getUserNameByID

该存储过程接收一个cid作为输入参数

返回cid对应的用户名称作为输出参数

执行存储过程需要用到

CallableStatement接口的

execute方法

执行前需要设置了输入输出参数

现在我们执行这个示例

在控制台中可看到

已经打印出c002的用户姓名

最后演示

执行一个返回结果集合的存储过程

getUser

它返回所有顾客的信息

执行存储过程需要用

CallableStatement接口的

execute方法

通过getResultSet方法

来获得存储过程返回的结果集

现在我们执行这个示例

在控制台中可看到

列出了顾客信息表的所有信息

Java访问数据库的内容演示

到此结束

再见

数据库概论课程列表:

导论

-数据库概述

--Video

-导论--数据库概述

第一章 数据库基础

-1.1 数据库基础

--Video

-第一章 数据库基础--1.1 数据库基础

第二章 关系运算

-2.1 CAP数据库

--CAP数据库

-第二章 关系运算--2.1 CAP数据库

-2.2 自然关系运算1

-- 自然关系运算1

-第二章 关系运算--2.2 自然关系运算1

-2.3 自然关系运算2

--自然关系运算2

-第二章 关系运算--2.3 自然关系运算2

第三章 结构化查询语言SQL

-3.1 SQL概述

-- SQL概述

-3.1 SQL概述--作业

-3.2 数据定义DDL

--数据定义DDL

-3.2 数据定义DDL--作业

-3.3 SQL数据更新DML

--SQL数据更新DML

-3.3 SQL数据更新DML--作业

-3.4 复杂SQL查询操作1

--复杂SQL查询操作1

-第三章 结构化查询语言SQL--3.4 复杂SQL查询操作1

-3.5 复杂SQL查询操作2

--复杂SQL查询操作2

-第三章 结构化查询语言SQL--3.5 复杂SQL查询操作2

第四章 数据库完整性、视图与安全性

-4.1 数据完整性

--4.1 数据完整性

-4.1 数据完整性--作业

-4.2 完整性约束

--完整性约束

-4.2 完整性约束--作业

-4.3 外键约束

--外键约束

-4.3 外键约束--作业

-4.4 触发器

--触发器

-4.4 触发器--作业

-4.5 视图

--视图

-4.5 视图--作业

-4.6 安全性

--安全性

-4.6 安全性--作业

第五章 索引

-5.1 索引

--Video

-5.2 B+树索引

--Video

第六章 规范化理论

-6.1 函数依赖

--Video

-6.2 Armstrong公理

--Video

-6.3 无损分解

--Video

-6.4 范式举例

--Video

-6.5 三种范式

--Video

-6.5 三种范式--作业

第七章 实体关系模型

-7.1-E-R模型概述

--E-R模型概述

-7.2 E-R模型详解

--Video

-7.3 E-R模型的拓展

--Video

-7.4 E-R模型实例分析

--Video

第八章 事务处理

-8.1 事务的ACID性质介绍

--ACID介绍

-8.1 事务的ACID性质介绍--作业

-8.2 事务经历

--事务经历

-8.2 事务经历--作业

-8.3 可串行化调度和前趋图

--可串行化调度和前趋图

-8.3 可串行化调度和前趋图--作业

-8.4 两阶段封锁

--两段锁协议

-8.4 两阶段封锁--作业

-8.5 隔离级别

--隔离级别

-8.5 隔离级别--作业

-8.6 事务恢复

--事务恢复

-8.6 事务恢复--作业

第九章 数据库应用与开发

-9.1 数据库使用介绍

--数据库使用介绍

-9.2 Java访问数据库

--Java访问数据库

-9.2 Java访问数据库--作业

第十章 其他数据库技术概述

-10.1 数据库新技术概述

--Video

Java访问数据库笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。