Java中JDBC原理及步骤详解

一、关于 JDBC

Java 应用程序通过 JDBC 来连接数据库并对数据库进行各种操作。 JDBC(Java Data Base Connectivity) 是一种用于执行 SQL 语句的 Java API,可以为多种数据库提供统一访问。换句话说,JDBC 充当了 Java 应用程序 与各种数据库之间的桥梁。其实 JDBC 也就是一个类或者几行代码。

JDBC 提供了访问各种数据库的能力,例如:SQL Server、Oracle、MySql 等。换句话说,有了 JDBC,就不 必为访问 MySQL 数据库专门写一个程序、为访问 Oracle 数据库又专门写一个程序,我们只需要用 JDBC 写一个 程序(一个类)就够了。SUN 公司(Java 原来的母公司)提供了 JDBC 的接口规范——JDBC API,而数据库厂商 按照该接口规范提供了针对自己数据库的具体实现——JDBC 驱动。数据库的驱动是由数据库厂商提供的,就好 比鼠标键盘的驱动是由各自的厂商提供的一样,和电脑厂商无关。

二、JDBC 工作原理

要想学好 JDBC,首先要理解 JDBC 的工作原理,如右图所示。最顶层是我们 使用 Java 编写的应用程序,最底层是各种数据库,中间的那些都属于 JDBC 的内 容,也是我们学习的重点。

1)、JDBC API

JDBC API 是由 SUN 公司提供的一系列标准接口,包括 Connection 接口、 Statement 接口、ResultSet 接口和 PreparedStatement 接口等,这些接口 都位于 java.sql 包中,后面我们会做详细介绍他们。

2)、DriverManager

该类由 SUN 公司提供,它负责加载和管理各个数据库厂商提供的 JDBC 驱动,并借助于这些驱动连接数据库。

3)、JDBC 驱动

JDBC 驱动是由各个数据库厂商提供,如果我们要连接 SQL Server 数据 库就需要使用微软公司提供的 JDBC 驱动,如果我们要连接 Oracle数据库就需要使用甲骨文公司提供的 JDBC 驱动。这些 JDBC 驱动都实现了 JDBC API 中的各个接口。

三、JD

JDBC API 主要做三件事:连接数据库,发送 SQL 语句,处理结果。下表列出了 JDBC API 中常用的类和接口。

下图展示了 JDBC 的工作流程,我们会根据此图详解介绍使用 JDBC 访问数据库的步骤。

首先我们要获取驱动,可以有以下三种方式自行获取:

①、从相关数据库厂商的官方网站上下载 JDBC 驱动,较为简单,但步骤较多;

②、从我们的课程系统中下载;

③、阿里云 maven 仓库 https://maven.aliyun.com/mvn/search 搜索 mysql-connector-Java 下载,如下图:

三、JDBC的使用步骤:

①、加载 JDBC 驱动

使用 Class.forName()方法可以把给定的一个 JDBC 驱动类加载到 Java 虚拟机中。

②、连接数据库

DriverManager 类属于 JDBC 的驱动管理类,主要负责在数据库和相应的驱动之间建立连接。通过该类的 getConnection()方法可以连接数据库,当调用该方法时,DriverManager 类会首先从已加载的驱动中找到一个 合适的驱动类,然后通过数据库连接字符串(URL)、用户名和密码连接数据库。

③、发送 SQL 语句并获得返回结果

连接上数据库后就可以通过该连接创建 Statement 或 PreparedStatement 接口的对象,该对象可以发送 SQL 语句到数据库。如果是查询操作将返回一个包含查询数据的 ResultSet 结果集,如果是增、删、改操作将返回受 影响的行数。

④、处理返回结果

这里主要处理的是查询操作所返回的 ResultSet 结果集,通过循环可以把结果集中的数据取出来。

while( rs.next() ){

int id=rs.getInt("列名");//获取整数类型的列的值

String name=rs.getString("列名");//获取字符串类型的列的值

}

五、完整实例:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_36581372

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值