JDBC是什么

简介: JDBC是什么

JDBC介绍


JDBC(Java DataBase Connectivity) 称为Java数据库连接,它是一种用于数据库访问的应用程序API,由一组用Java语言编写的类和接口组成,有了JDBC就可以用同一的语法对多种关系数据库进行访问,而不用担心其数据库操作语言的差异。 有了JDBC,就不必为访问Mysql数据库专门写一个程序,为访问Oracle又专门写一个程序等等。

1.png



JDBC的体系结构


JDBC的结构可划分为两层:一个是面向底层的JDBC Driver Interface(驱动程序管理器接口),另一个是面向程序员的JDBC API。

2.png


使用JDBC编程,可让开发人员从复杂的驱动器调用命令和函数中解脱出来,可以致力于应用程序中的关键地方。JDBC支持不同的关系数据库,这使得程序的可移植性大大加强。JDBC API是面向对象的,可以让用户把常用的方法封装为—个类,以备后用。但是它也有缺点,一是使用JDBC,访问数据记录的速度会受到一定程度的影响。二是JDBC结构中包含不同厂家的产品,这就给更改数据源带来了很大的麻烦。


JDBC核心接口与类


JDBC核心类库包含在java.sql包中。


接口:


Connection:特定数据库的连接(会话)。在连接上下文中执行SQL语句并返回结果。

PreparedStatement:表示预编译的 SQL 语句的对象。

Statement:用于执行静态 SQL 语句并返回它所生成结果的对象。

ResultSet :表示数据库结果集的数据表,通常通过执行查询数据库的语句生成 。

CallableStatement :用于执行 SQL 存储过程的接口 。

类:


DriverManager:负责管理JDBC驱动程序。使用JDBC驱动程序之前,必须先将驱动程序加载并注册后才可以使用,同时提供方法来建立与数据库的连接。

SQLException:有关数据库操作的异常。


JDBC优缺点


优点:

JDBC使得编程人员从复杂的驱动器调用命令和函数中解脱出来,可以致力于应用程序中的关键地方。

JDBC支持不同的关系数据库,这使得程序的可移植性大大加强。

JDBC API是面向对象的,可以让用户把常用的方法封装为—个类,以备后用。


缺点:

使用JDBC,访问数据记录的速度会受到一定程度的影响。

JDBC结构中包含不同厂家的产品,这就给更改数据源带来了很大的麻烦。


数据库驱动程序


第一类: jdbc-odbc桥

把JDBC API调用转换成ODBC API 调用, 然后ODBC API调用针对供应商的ODBC 驱动程序来访问数据库, 即利用JDBC- ODBC 桥通过ODBC来存储数据源 。


第二类: 本地API驱动

本地api驱动直接把jdbc调用转变为数据库的标准调用再去访问数据库. 这种方法需要本地数据库驱动代码。


第三类: 网络协议驱动

它使用一种与具体数据库无关的协议将数据库请求发送给一个中间服务器。


第四类: 本地协议驱动

这种驱动直接把jdbc调用转换为符合相关数据库系统规范的请求.由于4型驱动写的应用可以直接和数据库服务器通讯,这种类型的驱动完全由java实现,因此实现了平台独立性。 通常开发中多采用第四种方式,这种驱动不需要先把jdbc的调用传给odbc或本地数据库接口或者是中间层服务器,所以它的执行效率是非常高的驱动。


3.png


注:各数据库厂商均提供对 JDBC 的支持,即提供数据库连接使用的驱动程序文件需要为数据库应用程序正确加载驱动程序文件以获得数据库连接,实施操作。


创建JDBC应用程序的步骤 *(重要)


1. 载入JDBC驱动程序

2. 定义连接URL

3. 建立连接

4. 创建Statement对象

5. 执行查询或更新

6. 结果处理

7. 关闭连接


相关文章
|
3月前
|
SQL Java 关系型数据库
JDBC详解
Java Database Connectivity(JDBC)是Java语言中用于访问关系型数据库的标准接口,定义了一组API,使Java程序能以统一方式连接、访问和操作不同关系型数据库,简化数据库操作,提高Java应用程序的可移植性和可维护性。使用JDBC进行数据库操作主要包括创建数据源对象、建立连接、构造和执行SQL语句及释放资源等步骤。此外,还可以使用Set系列方法设置值,并使用get系列方法获取查询结果。
77 2
JDBC详解
|
3月前
|
SQL Java 关系型数据库
|
3月前
|
SQL 数据库
jdbc10
jdbc10
22 1
|
7月前
|
SQL Java 数据库连接
JDBC是真的啰里啰嗦啊-但是很重要!(下)
JDBC是真的啰里啰嗦啊-但是很重要!
30 1
|
SQL Oracle 数据可视化
|
7月前
|
存储 Java 数据库连接
JDBC简单总结
JDBC简单总结
|
缓存 druid Java
JDBC2.0
JDBC2.0在1.0版本java.sql.*上增加了一个扩展包javax.sql.*包,这个包里面包含两个接口: 1.DataSource,数据源。 2.ConnectionPoolDataSource,数据池。 DataSource的源码可以看到,这个接口的作用就是拿来获取connection连接的。 各个数据库厂商只负责实现connection, 至于获取connection,在JDBC1.0里面是由DriverManager来负责的。 JDBC2.0版本之所新增DataSource,原因很简单——数据库连接池。1.0版本时每用一次connection都需要重新new,而da
132 0
JDBC2.0
|
SQL 存储 关系型数据库
JDBC的“那些事“之应当注意的问题(中)
JDBC的“那些事“之应当注意的问题(中)
|
SQL 安全 Java
33 JDBC实用详解
info 💡 概念:JDBC是java提供的一套用于操作数据库的接口API:java程序员只需要面向这套接口编程即可;
93 0
|
SQL druid Java