在现代应用程序的开发中,数据库是不可或缺的一部分。MySQL作为一款流行的开源关系数据库管理系统,广泛应用于中小型企业以及互联网应用中。本文将介绍如何通过Java程序连接MySQL数据库,并实现基本的数据交互,包括数据的增、删、改、查操作。
一、环境准备
- 安装 MySQL:确保已经在本地或服务器上安装了MySQL数据库,并创建了一个数据库。
- 安装JDK:确保您的计算机上已经安装了Java开发工具包(JDK)。
- 下载 MySQL JDBC 驱动:JDBC(Java Database Connectivity)是Java与各种数据库之间的桥梁。我们需要下载MySQL的JDBC驱动,通常是一个
.jar
文件,如mysql-connector-java-x.x.x.jar
。
二、创建数据库与表
在MySQL中创建一个简单的数据库和表以存储数据。我们可以使用以下SQL语句:
CREATE DATABASE testdb;
USE testdb;
CREATE TABLE user (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL
);
三、Java 代码示例
接下来,我们将编写 Java 代码来连接MySQL并进行基本的增、删、改、查操作。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class MySQLDemo {
// 数据库连接信息
private static final String URL = "jdbc:mysql://localhost:3306/testdb";
private static final String USER = "root"; // 数据库用户名
private static final String PASSWORD = "yourpassword"; // 数据库密码
public static void main(String[] args) {
MySQLDemo demo = new MySQLDemo();
demo.insertUser("张三", "zhangsan@example.com");
demo.queryUsers();
demo.updateUser(1, "李四", "lisi@example.com");
demo.deleteUser(1);
}
// 连接数据库
public Connection connect() {
Connection connection = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
connection = DriverManager.getConnection(URL, USER, PASSWORD);
System.out.println("数据库连接成功!");
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
return connection;
}
// 插入用户
public void insertUser(String name, String email) {
String sql = "INSERT INTO user (name, email) VALUES (?, ?)";
try (Connection conn = connect();
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, name);
pstmt.setString(2, email);
pstmt.executeUpdate();
System.out.println("用户插入成功!");
} catch (SQLException e) {
e.printStackTrace();
}
}
// 查询用户
public void queryUsers() {
String sql = "SELECT * FROM user";
try (Connection conn = connect();
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery()) {
while (rs.next()) {
System.out.println("ID: " + rs.getInt("id") + ", Name: " + rs.getString("name") + ", Email: " + rs.getString("email"));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
// 更新用户
public void updateUser(int id, String name, String email) {
String sql = "UPDATE user SET name = ?, email = ? WHERE id = ?";
try (Connection conn = connect();
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, name);
pstmt.setString(2, email);
pstmt.setInt(3, id);
pstmt.executeUpdate();
System.out.println("用户更新成功!");
} catch (SQLException e) {
e.printStackTrace();
}
}
// 删除用户
public void deleteUser(int id) {
String sql = "DELETE FROM user WHERE id = ?";
try (Connection conn = connect();
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setInt(1, id);
pstmt.executeUpdate();
System.out.println("用户删除成功!");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
四、总结
以上代码展示了如何使用Java连接MySQL数据库,并实现简单的CRUD(创建、读取、更新、删除)操作。在代码中,我们使用了PreparedStatement
进行预编译语句,以提高效率并防止SQL注入。
在实际应用中,数据库交互通常会更加复杂,涉及到事务处理、连接池等高级功能。了解基础的数据库操作是学习这些高级功能的基础。希望这篇文章能帮助你在Java和MySQL的开发路上迈出第一步。