Java Database Connectivity (JDBC) 是 Java 平台提供的一种与各种数据库连接的方式和规范。通过 JDBC,开发者可以在 Java 平台上完成数据库的查询、更新和操作。本文将详细认识 JDBC 的基础概念,并通过实战例子介绍其使用方法。
1. JDBC 概念
JDBC 接口是 Java 提供的一种 API,用于与数据库进行交互,其核心涉及以下三个概念:
数据源连接:通过 JDBC 与数据库建立一个连接。
进行 SQL 操作:执行 SQL 语句,如查询、插入、删除和更新。
结果处理:将 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 语句的接口,有三种为主要实现:
Statement:适合基本 SQL 执行,但存在泛复汇缩问题。
PreparedStatement:预处理声明,可以防止 SQL 泛洞,适合反复操作。
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();
}
}
}