JDBC数据库访问技术

更新时间:2023-08-24 14:41:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数据库

JDBC数据库访问技术

2011-8-7

数据库

什么是JDBC 什么是JDBC JDBC(Java DataBase Connectivity)是Java与数 据库的接口规范 JDBC定义了一个支持标准SQL功能的通用底层的 应用程序编程接口(API) 定义了若干Java中的类,表示数据库连接、SQL 指令、结果集、数据库元数据等

2

2011-8-7

数据库

JDBC特性 JDBC特性 独立于特定数据库 对硬件平台、操作系统异构性的支持 JDBC驱动程序管理器是内置的,驱动程序本身也 可通过Web浏览器自动下载,无须安装、配置 在不同数据库功能模块层次上提供统一的用户界 面,可以实现不同的数据库连接.

3

2011-8-7

数据库

JDBC 操作步骤 加载驱动程序(向系统注册所需要的JDBC驱动程 序). 建立到指定数据库的连接. 提交数据库查询 获取查询结果

4

2011-8-7

数据库

连接(Connection) 连接(Connection) Connection 对象代表与数据库的连接 连接过程包括所执行的 SQL 语句和在该连接上所 返回的结果

5

2011-8-7

数据库

打开连接 与数据库建立连接的标准方法是调 用 DriverManager.getConnection 方法 例子如下:

6

2011-8-7

数据库

打开连接例子 private String url = "jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=mydb"; private String username = "sa"; private String password = "sa"; public void testJDBC(){ try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();//第 一中加载驱动的方法 DriverManager.registerDriver(new com.microsoft.jdbc.sqlserver.SQLServerDriver());// 第二种为注册驱动的方法 conn = DriverManager.getConnection(url, username, password); System.out.println("数据库连接成功"); } catch (Exception e) { e.printStackTrace(); } }

//

7

2011-8-7

数据库

JDBC URL JDBC URL 提供了一种标识数据库的方法,可以 使相应的驱动程序能识别该数据库并与之建立连 接 JDBC URL 应允许驱动程序编程员将一切所需的 信息编入其中,而无须要求用户去做任何系统管 理工作 JDBC URL 应允许某种程度的间接性。也就是说, JDBC URL 可指向逻辑主机或数据库名,而这种 逻辑主机或数据库名将由网络命名系统动态地转 换为实际的名称

8

2011-8-7

数据库

JDBC URL的标准语法 URL的标准语法 JDBC URL 的标准语法如下所示。它由三部分组 成,各部分间用冒号分隔: jdbc:< 子协议 >:< 子名称 > jdbc ─ 协议。JDBC URL 中的协议总是 jdbc <子协议> ─ 驱动程序名或数据库连接机制的名称 <子名称> ─ 一种标识数据库的方法

9

2011-8-7

数据库

JDBC URL 举例 Jdbc:oracle:thin:@127.0.0.1:1521:edudb Jdbc:microsoft:sqlserver://localhost:1433 Jdbc:microsoft:sqlserver://localhost:1433;DataB aseName=mydb

10

2011-8-7

数据库

发送 SQL 语句 JDBC 提供了三个类,用于向数据库发送 SQL 语 句Statement PreparedStatement CallableSt

atement

11

2011-8-7

数据库

对象Statement 对象Statement 由Connection的方法 createStatement 所创建 Statement 对象用于发送简单的 SQL 语句

12

2011-8-7

数据库

对象PreparedStatement 对象PreparedStatement 由Connection的方法 prepareStatement 所创建 PreparedStatement 对象用于发送带有一个或多 个输入参数的 SQL 语句 PreparedStatement 的实例扩展了 Statement , 因此它们都包括了Statement 的方法 PreparedStatement 对象有可能比Statement 对 象的效率更高,因为它已被预编译过并存放在那 以供将来使用

13

2011-8-7

数据库

对象CallableStatement 对象CallableStatement 由方法 prepareCall 所创建。 CallableStatement 对象用于执行 SQL 储存程 序 ─ 一组可通过名称来调用的SQL 语句

14

2011-8-7

数据库

事务 事务由一个或多个这样的语句组成:这些语句已 被执行、完成并被提交或还原 当调用方法 commit 或 rollback 时,当前事务即 告就结束,另一个事务随即开始 方法 commit 使 SQL 语句对数据库所做的任何更 改成为永久性的,它还将释放事务持有的全部锁。 而方法 rollback 将弃去那些更改

15

2011-8-7

数据库

事务隔离级别 必须有某种途径来管理两个事务同时对一个数据 库进行操作时可能发生的冲突 五个隔离级别TRANSACTION_NONE TRANSACTION_READ_UNCOMMITTED TRANSACTION_READ_COMMITTED TRANSACTION_REPEATABLE_READ TRANSACTION_SERIALIZABLE

使用Connection.setTransactionIsolation() 设置你 想要的事物级别

16

2011-8-7

数据库

DriverManager DriverManager 类是 JDBC 的管理层,作用于用 户和驱动程序之间 跟踪可用的驱动程序,并在数据库和相应驱动程 序之间建立连接

17

2011-8-7

数据库

跟踪可用驱动程序 DriverManager 类包含一列 Driver 类,它们已通 过调用方法DriverManager.registerDriver对自己 进行了注册 所有 Driver 类都包含一个静态部分,它创建该类 的实例,然后在加载该实例时 DriverManager 类 进行注册 加载 Driver 类,然后自动在 DriverManager 中注 册的方式Class.forName("acme.db.Driver");

18

2011-8-7

数据库

建立连接 加载 Driver 类并在 DriverManager 类中注册后, 它们即可用来与数据库建立连接 当调用 DriverManager.getConnection 方法发出 连接请求时,DriverManager 将检查每个驱动程 序,查看它是否可以建立连接 DriverManager 将使用它所找到的第一个可以成 功连接到给定 URL 的驱动程序 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ; //加载驱动程序String url = "jdbc:odbc:fred"; DriverManager.getConnection(url, "userID", "passwd");

19

2011-8-7

本文来源:https://www.bwwdw.com/article/qani.html

Top