📜  JDBC-简介(1)

📅  最后修改于: 2023-12-03 14:43:05.612000             🧑  作者: Mango

JDBC 简介

JDBC(Java Database Connectivity)是一种Java编程语言下的应用程序接口,用于标准化访问数据库管理系统(DBMS)。通过JDBC接口,Java应用程序可以连接到多种不同的关系型数据库,如MySQL、Oracle、SQL Server等,而且连接方式几乎相同。JDBC接口可以轻松地针对任何支持SQL标准的数据库编写Java应用程序,它是Java领域里使用最为广泛的数据库访问技术。

JDBC 的基本构成

JDBC的主要构成是Java应用程序、JDBC驱动管理器(Driver Manager)、数据库驱动和数据库管理系统(DBMS)。其中,JDBC应用程序通过JDBC驱动管理器连接数据库驱动,后者作为Java应用程序与后端数据库之间的中间层,最终通过JDBC驱动管理器连接数据库管理系统。

JDBC架构示意图如下所示:

JDBC 架构示意图

JDBC 数据库接口

JDBC数据库API主要有3类接口:

  1. DriverManager:驱动管理类,用于控制JDBC驱动的加载和卸载。其中,用到的方法包括getConnection、registerDriver和deregisterDriver等。
  2. Connection:连接操作类,用于连接数据库系统。其中,用到的方法包括createStatement、prepareStatement、prepareCall和setAutoCommit等。
  3. Statement和PreparedStatement:SQL语句处理类,用于执行SQL语句。其中,用到的方法包括执行SQL语句的executeQuery、executeUpdate、execute和addBatch等。
JDBC 基本流程

使用JDBC实现对数据库的操作,一般流程如下:

  1. 加载数据库驱动。
  2. 检查数据库连接。
  3. 创建数据库连接。
  4. 创建Statement对象、PreparedStatement对象或CallableStatement对象,其中根据需要选择要创建的对象。
  5. 执行SQL语句。
  6. 处理结果集。
  7. 关闭连接。

下面简单演示一个通过JDBC连接MySQL数据库的例子:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JdbcDemo {
    public static void main(String[] args) throws Exception {
        // 1. 加载数据库驱动
        Class.forName("com.mysql.jdbc.Driver");

        // 2. 检查数据库连接
        String url = "jdbc:mysql://localhost:3306/test_db";
        String user = "root";
        String password = "root";
        Connection conn = DriverManager.getConnection(url, user, password);

        // 3. 创建Statement对象
        Statement stmt = conn.createStatement();

        // 4. 执行SQL语句
        String sql = "SELECT id, name, age FROM user";
        ResultSet rs = stmt.executeQuery(sql);

        // 5. 处理结果集
        while (rs.next()) {
            System.out.println("id=" + rs.getInt("id")
                    + ", name=" + rs.getString("name")
                    + ", age=" + rs.getInt("age"));
        }

        // 6. 关闭连接
        rs.close();
        stmt.close();
        conn.close();
    }
}
总结

JDBC是Java领域里最为常用的数据库访问技术之一,通过JDBC,Java应用程序可以轻松地连接到多种不同的关系型数据库,与之相比,JDBC的缺点是需要编写大量重复的代码来进行数据库操作。为了解决这个问题,常用的做法是使用类似MyBatis、Hibernate等ORM框架,它们都是JDBC的封装,可以大大简化数据库操作。