Java开发中的MySQL数据库操作实践
在当今软件开发领域,数据库扮演着至关重要的角色。作为主流的编程语言之一,Java为数据库操作提供了强大的支持。本指南将全面讲解如何使用Java程序连接MySQL数据库,并完成常见的数据操作任务。
一、前期准备工作
1.1 MySQL环境搭建
首先需要确保本地已安装MySQL数据库服务端。建议从MySQL官方网站获取最新稳定版本进行安装配置。
1.2 数据库结构设计
通过MySQL命令行工具执行以下SQL语句创建测试环境:
CREATE DATABASE practice_db;
USE practice_db;
CREATE TABLE account_info (
user_id INT AUTO_INCREMENT PRIMARY KEY,
login_name VARCHAR(50) UNIQUE NOT NULL,
login_pass VARCHAR(100) NOT NULL
);
1.3 项目依赖配置
对于使用Maven管理的Java项目,需在配置文件中添加数据库驱动依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
二、核心功能实现
2.1 建立数据库连接
创建专门的连接管理类处理数据库连接:
import java.sql.*;
public class DBConnector {
private static final String DB_URL = "jdbc:mysql://127.0.0.1:3306/practice_db";
private static final String DB_USER = "admin";
private static final String DB_PASS = "securePass123";
public static Connection createConnection() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
return DriverManager.getConnection(DB_URL, DB_USER, DB_PASS);
} catch (Exception e) {
System.err.println("连接异常:" + e.getMessage());
return null;
}
}
}
2.2 数据新增操作
实现用户账号信息的存储功能:
public class AccountService {
public boolean registerAccount(String username, String password) {
String query = "INSERT INTO account_info(login_name, login_pass) VALUES(?,?)";
try (Connection conn = DBConnector.createConnection();
PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setString(1, username);
stmt.setString(2, password);
return stmt.executeUpdate() > 0;
} catch (SQLException e) {
System.err.println("注册失败:" + e.getMessage());
return false;
}
}
}
2.3 数据查询功能
实现账号信息的检索功能:
public void displayAllAccounts() {
String query = "SELECT * FROM account_info";
try (Connection conn = DBConnector.createConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query)) {
while(rs.next()) {
System.out.printf("ID:%d 用户名:%s 密码:%s\n",
rs.getInt("user_id"),
rs.getString("login_name"),
rs.getString("login_pass"));
}
} catch (SQLException e) {
System.err.println("查询异常:" + e.getMessage());
}
}
2.4 数据更新操作
提供密码修改功能:
public boolean updateCredentials(int userId, String newPassword) {
String query = "UPDATE account_info SET login_pass = ? WHERE user_id = ?";
try (Connection conn = DBConnector.createConnection();
PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setString(1, newPassword);
stmt.setInt(2, userId);
return stmt.executeUpdate() > 0;
} catch (SQLException e) {
System.err.println("更新失败:" + e.getMessage());
return false;
}
}
2.5 数据删除功能
实现账号注销功能:
public boolean removeAccount(int userId) {
String query = "DELETE FROM account_info WHERE user_id = ?";
try (Connection conn = DBConnector.createConnection();
PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setInt(1, userId);
return stmt.executeUpdate() > 0;
} catch (SQLException e) {
System.err.println("删除失败:" + e.getMessage());
return false;
}
}
三、功能测试验证
创建测试类验证各项功能:
public class TestRunner {
public static void main(String[] args) {
AccountService service = new AccountService();
// 测试数据新增
service.registerAccount("testUser", "initialPass");
// 测试数据查询
service.displayAllAccounts();
// 测试数据更新
service.updateCredentials(1, "updatedPass");
// 测试数据删除
service.removeAccount(1);
}
}
四、关键要点总结
本指南详细演示了:
- 数据库连接:通过JDBC建立与MySQL的通信
- CRUD操作:完整的数据增删改查流程实现
- 安全实践:使用预处理语句防范SQL注入攻击
对于生产环境,建议采用连接池技术(如HikariCP)优化性能,或使用JPA/Hibernate等ORM框架提升开发效率。掌握这些基础操作后,开发者可以更高效地进行Java数据库应用开发。
文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/10224.html