在 Java 中,使用 JDBC 插入数据到 MySQL 数据库是非常常见的操作。以下是一个详细的步骤,展示如何使用 JDBC 插入数据到 MySQL 数据库。
### 一、准备工作
#### 1. 下载并安装 MySQL
如果您还没有安装 MySQL,可以从 MySQL 官方网站下载并安装:
- [MySQL 下载页面](https://dev.mysql.com/downloads/mysql/)
#### 2. 创建数据库和表
在 MySQL 中创建一个数据库和表,用于存储插入的数据。例如,创建一个名为 `testdb` 的数据库和一个名为 `users` 的表:
```sql
CREATE DATABASE testdb;
USE testdb;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL
);
```
### 二、添加 MySQL JDBC 驱动
从 MySQL 官方网站下载 MySQL JDBC 驱动(Connector/J):
- [MySQL Connector/J 下载页面](https://dev.mysql.com/downloads/connector/j/)
将下载的 JDBC 驱动添加到您的项目中。如果您使用的是 Maven,可以在 `pom.xml` 文件中添加以下依赖:
```xml
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
```
### 三、编写 Java 代码
以下是一个完整的 Java 示例,展示如何使用 JDBC 插入数据到 MySQL 数据库:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class JDBCInsertExample {
private static final String JDBC_URL = "jdbc:mysql://localhost:3306/testdb";
private static final String JDBC_USER = "root";
private static final String JDBC_PASSWORD = "yourpassword";
public static void main(String[] args) {
// 插入的用户数据
String name = "John Doe";
String email = "john.doe@example.com";
try {
// 加载 MySQL JDBC 驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 建立数据库连接
Connection connection = DriverManager.getConnection(JDBC_URL, JDBC_USER, JDBC_PASSWORD);
// 插入数据
String insertSQL = "INSERT INTO users (name, email) VALUES (?, ?)";
try (PreparedStatement preparedStatement = connection.prepareStatement(insertSQL)) {
preparedStatement.setString(1, name);
preparedStatement.setString(2, email);
int rowsInserted = preparedStatement.executeUpdate();
if (rowsInserted > 0) {
System.out.println("A new user was inserted successfully!");
}
}
// 关闭数据库连接
connection.close();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
}
```
### 代码解释
1. **加载 MySQL JDBC 驱动**:
```java
Class.forName("com.mysql.cj.jdbc.Driver");
```
这行代码加载 MySQL JDBC 驱动,使得 `DriverManager` 可以找到并使用该驱动。
2. **建立数据库连接**:
```java
Connection connection = DriverManager.getConnection(JDBC_URL, JDBC_USER, JDBC_PASSWORD);
```
使用 `DriverManager.getConnection` 方法建立到 MySQL 数据库的连接。
3. **插入数据**:
```java
String insertSQL = "INSERT INTO users (name, email) VALUES (?, ?)";
try (PreparedStatement preparedStatement = connection.prepareStatement(insertSQL)) {
preparedStatement.setString(1, name);
preparedStatement.setString(2, email);
int rowsInserted = preparedStatement.executeUpdate();
if (rowsInserted > 0) {
System.out.println("A new user was inserted successfully!");
}
}
```
使用 `PreparedStatement` 预编译 SQL 语句,并通过 `setString` 方法设置参数值。执行 `executeUpdate` 方法执行插入操作,并返回受影响的行数。
4. **关闭数据库连接**:
```java
connection.close();
```
插入数据后,关闭数据库连接以释放资源。
### 总结
通过上述步骤和示例代码,您可以在 Java 中使用 JDBC 插入数据到 MySQL 数据库。JDBC 提供了一套标准的 API,使得 Java 应用程序可以方便地与关系型数据库进行交互。希望这些示例对您有所帮助。