JDBC 简介(Java数据库连接)
JDBC 或Java数据库连接是一种Java API,用于连接和执行与数据库的查询。它是来自 Sun microsystems 的规范,为Java应用程序与各种数据库通信提供标准抽象(API 或协议)。它为该语言提供了Java数据库连接标准。它用于编写访问数据库所需的程序。 JDBC 与数据库驱动程序一起可以访问数据库和电子表格。可以借助 JDBC API 访问存储在关系数据库 (RDB) 中的企业数据。
JDBC(Java数据库连接)的定义
JDBC是Java编程中用于与数据库交互的API(应用程序编程接口)。 JDBC的类和接口允许 应用程序将用户发出的请求发送到指定的数据库。
JDBC 的用途
使用Java EE 技术创建的企业应用程序需要与数据库交互以存储特定于应用程序的信息。因此,与数据库交互需要高效的数据库连接,这可以通过使用 ODBC(开放数据库连接)驱动程序来实现。此驱动程序与 JDBC 一起使用,可与各种数据库(如 Oracle、MS Access、Mysql 和 SQL Server 数据库)进行交互或通信。
JDBC 的组件
JDBC 通常有四个主要组件,通过它们可以与数据库进行交互。它们如下所述:
1. JDBC API:提供多种方法和接口,方便与数据库通信。它提供如下两个包,其中包含Java SE 和Java EE 平台,以展示 WORA(一次编写,到处运行)功能。
java.sql.*;
2.它还提供了将数据库连接到客户端应用程序的标准。
3. JDBC驱动管理器:它在应用程序中加载特定于数据库的驱动程序以建立与数据库的连接。它用于对数据库进行特定于数据库的调用以处理用户请求。
4. JDBC测试套件:用于测试JDBC Drivers正在执行的操作(如插入、删除、更新)。
5. JDBC-ODBC 桥驱动程序:它将数据库驱动程序连接到数据库。此桥将 JDBC 方法调用转换为 ODBC函数调用。它利用sun.jdbc.odbc包,其中包含一个用于访问 ODBC 特性的本机库。
JDBC架构
描述:
- 应用程序:它是一个与数据源通信的Java applet 或 servlet。
- JDBC API: JDBC API 允许Java程序执行 SQL 语句并检索结果。 JDBC API中定义的一些重要的类和接口如下:
- DriverManager:在 JDBC 架构中扮演着重要的角色。它使用一些特定于数据库的驱动程序来有效地将企业应用程序连接到数据库。
- JDBC 驱动程序:要通过 JDBC 与数据源进行通信,您需要一个能够与相应数据源进行智能通信的 JDBC 驱动程序。
JDBC 驱动程序
JDBC 驱动程序是客户端适配器(安装在客户端机器上,而不是服务器上),它将来自Java程序的请求转换为 DBMS 可以理解的协议。有 4 种类型的 JDBC 驱动程序:
- Type-1 驱动程序或 JDBC-ODBC 桥接驱动程序
- Type-2 驱动程序或 Native-API 驱动程序
- Type-3 驱动程序或网络协议驱动程序
- Type-4 驱动程序或瘦驱动程序
JDBC 架构的类型(2 层和 3 层)
JDBC 体系结构由用于访问数据库的两层和三层处理模型组成。它们如下所述:
- 两层模型: Java应用程序直接与数据源通信。 JDBC 驱动程序支持应用程序和数据源之间的通信。当用户向数据源发送查询时,这些查询的答案会以结果的形式发回给用户。
数据源可以位于用户连接到的网络上的不同机器上。这称为客户端/服务器配置,其中用户的机器充当客户端,而运行数据源的机器充当服务器。 - 三层模型:在这种模型中,用户的查询被发送到中间层服务,从中再次将命令发送到数据源。结果被发送回中间层,并从那里发送给用户。
管理信息系统主管发现这种类型的模型非常有用。
JDBC API接口
JDBC API 的常用接口列表如下:
- 驱动界面
- 连接接口
- 报表接口
- PreparedStatement接口
- 可调用语句接口
- 结果集接口
- 结果集元数据接口
- 数据库元数据接口
- 行集接口
JDBC API 的类
JDBC API 的流行类列表如下:
- DriverManager 类
- Blob 类
- Clob 类
- 类型类
JDBC的工作
需要与数据库通信的Java应用程序必须使用 JDBC API 进行编程。 JDBC 驱动支持数据源,如 Oracle 和 SQL 服务器,必须在Java应用程序中添加 JDBC 支持,这可以在运行时动态完成。此 JDBC 驱动程序智能地与相应的数据源通信。
创建一个简单的 JDBC 应用程序
Java
package com.vinayak.jdbc;
import java.sql.*;
public class JDBCDemo {
public static void main(String args[])
throws SQLException, ClassNotFoundException
{
String driverClassName
= "sun.jdbc.odbc.JdbcOdbcDriver";
String url = "jdbc:odbc:XE";
String username = "scott";
String password = "tiger";
String query
= "insert into students values(109, 'bhatt')";
// Load driver class
Class.forName(driverClassName);
// Obtain a connection
Connection con = DriverManager.getConnection(
url, username, password);
// Obtain a statement
Statement st = con.createStatement();
// Execute the query
int count = st.executeUpdate(query);
System.out.println(
"number of rows affected by this query= "
+ count);
// Closing the connection as per the
// requirement with connection is completed
con.close();
}
} // class
上面的示例演示了使用 JDBC 访问数据库的基本步骤。应用程序使用 JDBC-ODBC 桥驱动程序连接到数据库。您必须导入Java.sql包以提供基本的 SQL 功能并使用包的类。