JDBC 入门教程

发布于:2024-12-20 ⋅ 阅读:(16) ⋅ 点赞:(0)

Java Database Connectivity (JDBC) 是 Java 平台提供的一种与各种数据库连接的方式和规范。通过 JDBC,开发者可以在 Java 平台上完成数据库的查询、更新和操作。本文将详细认识 JDBC 的基础概念,并通过实战例子介绍其使用方法。


1. JDBC 概念

JDBC 接口是 Java 提供的一种 API,用于与数据库进行交互,其核心涉及以下三个概念:

  1. 数据源连接:通过 JDBC 与数据库建立一个连接。

  2. 进行 SQL 操作:执行 SQL 语句,如查询、插入、删除和更新。

  3. 结果处理:将 SQL 操作的结果返回给用户,如表中的数据。

JDBC 接口使用一种默认的驱动模式,通过实现各种数据库驱动。通过 JDBC,开发者可以完成对多种数据库的泛通操作。


2. JDBC 基础构件

2.1 DriverManager

DriverManager 是 JDBC 连接管理器,用于泛通管理所有驱动程序和数据库连接。

其主要函数有:

  • getConnection(String url):返回一个 Connection 对象。

  • registerDriver(Driver driver):注册一个 JDBC 驱动。

2.2 Connection

Connection 是与特定数据库保持连接的对象,提供了远程数据操作的机制。

重要方法有:

  • createStatement():创建一个 Statement 对象,用于 SQL 操作。

  • prepareStatement(String sql):创建预处理声明对象。

  • setAutoCommit(boolean autoCommit):设置是否自动提交。

  • commit():提交一个事务。

2.3 Statement

Statement 是 JDBC 中用于执行 SQL 语句的接口,有三种为主要实现:

  1. Statement:适合基本 SQL 执行,但存在泛复汇缩问题。

  2. PreparedStatement:预处理声明,可以防止 SQL 泛洞,适合反复操作。

  3. CallableStatement:用于调用数据库中的储存过程和函数。

2.4 ResultSet

ResultSet 是用于存储查询结果的对象,提供了对资料进行位置和取值的方法。

举例:

ResultSet rs = statement.executeQuery("SELECT * FROM students");
while (rs.next()) {
    int id = rs.getInt("id");
    String name = rs.getString("name");
    System.out.println("ID: " + id + ", Name: " + name);
}

3. JDBC 实战

以一个基本数据库操作为例,完成以下流程:

3.1 添加文件依赖

在 Maven 项目中,依赖其 MySQL Connector:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.33</version>
</dependency>

3.2 配置数据库参数

application.properties中配置:

jdbc.url=jdbc:mysql://localhost:3306/school
jdbc.username=root
jdbc.password=root

3.3 Java 实现

3.3.1 创建连接
import java.sql.*;

public class JDBCExample {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/school";
        String username = "root";
        String password = "root";

        try (Connection conn = DriverManager.getConnection(url, username, password)) {
            System.out.println("连接成功!");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
3.3.2 查询数据

网站公告

今日签到

点亮在社区的每一天
去签到