在现代软件开发中,Java与MySQL数据库的结合非常常见。通过JDBC(Java Database Connectivity),Java程序可以轻松地与MySQL数据库进行连接和数据交互。本文将介绍如何使用Java连接MySQL数据库,并进行基本的增、删、改、查操作,并通过代码示例进行说明。
一、准备工作
-
安装MySQL数据库:确保你的计算机上已经安装了MySQL数据库,并且已经创建了相应的数据库和表。
-
添加JDBC驱动:在Java项目中需要引入MySQL JDBC驱动库。你可以从MySQL官方网站下载JDBC驱动,或使用Maven依赖:
xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.25</version> <!-- 请根据需要选择版本 --> </dependency>
二、连接数据库
在Java中连接MySQL数据库的基本步骤如下:
- 导入必要的包。
- 使用DriverManager获取数据库连接。
- 编写SQL语句并执行。
以下是一个简单的连接数据库的示例代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySQLConnection {
private static final String URL = "jdbc:mysql://localhost:3306/your_database"; // 数据库 URL
private static final String USER = "your_username"; // 用户名
private static final String PASSWORD = "your_password"; // 密码
public static void main(String[] args) {
Connection connection = null;
try {
// 1. 注册 JDBC 驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 2. 打开连接
connection = DriverManager.getConnection(URL, USER, PASSWORD);
System.out.println("成功连接到数据库!");
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println("找不到 JDBC 驱动.");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库连接失败.");
} finally {
// 3. 关闭连接
if (connection != null) {
try {
connection.close();
System.out.println("数据库连接已关闭.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
三、实现数据交互
1. 插入数据
插入数据可以使用PreparedStatement
,这样可以有效防止SQL注入。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class InsertData {
private static final String URL = "jdbc:mysql://localhost:3306/your_database";
private static final String USER = "your_username";
private static final String PASSWORD = "your_password";
public static void main(String[] args) {
String sql = "INSERT INTO users (name, age) VALUES (?, ?)";
try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD);
PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
preparedStatement.setString(1, "张三");
preparedStatement.setInt(2, 25);
int rowsInserted = preparedStatement.executeUpdate();
System.out.println(rowsInserted + " 行数据插入成功!");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
2. 查询数据
查询操作同样可以使用PreparedStatement
,并通过ResultSet
获取结果。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class QueryData {
private static final String URL = "jdbc:mysql://localhost:3306/your_database";
private static final String USER = "your_username";
private static final String PASSWORD = "your_password";
public static void main(String[] args) {
String sql = "SELECT * FROM users";
try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD);
PreparedStatement preparedStatement = connection.prepareStatement(sql);
ResultSet resultSet = preparedStatement.executeQuery()) {
while (resultSet.next()) {
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
System.out.println("姓名: " + name + ", 年龄: " + age);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
3. 更新和删除数据
更新和删除数据的代码与插入数据类似,这里略去示例,读者可以参考使用UPDATE
和DELETE
语句。
四、总结
通过上述实例,我们学习了如何在Java中连接MySQL数据库,并实现基本的CRUD操作。掌握了这些基本操作后,将为后续更复杂的数据库应用打下良好的基础。在实际开发中,切记要妥善处理异常情况,并遵守最佳实践,如使用连接池来管理数据库连接等。这样可以有效提高应用的性能和稳定性。