0


MySQL 篇 - Java 连接 MySQL 数据库并实现数据交互

在现代应用中,数据库是不可或缺的一部分。Java 作为一种广泛使用的编程语言,提供了丰富的 API 来与各种数据库进行交互。本文将详细介绍如何在 Java 中连接 MySQL 数据库,并实现基本的数据交互功能。

一、环境准备

1.1 安装 MySQL

首先,确保你已经安装了 MySQL 数据库。可以通过 MySQL 官网 下载并安装适合你操作系统的版本。

1.2 创建数据库和表

在安装完成后,登录 MySQL 命令行工具,创建一个名为

test_db

的数据库,并在其中创建一个名为

users

的表:

CREATEDATABASE test_db;USE test_db;CREATETABLE users (
    id INTAUTO_INCREMENTPRIMARYKEY,
    username VARCHAR(50)NOTNULL,
    password VARCHAR(50)NOTNULL);

1.3 添加 MySQL Connector/J 依赖

在 Java 项目中,你需要添加 MySQL Connector/J 作为依赖。如果你使用 Maven,可以在

pom.xml

中添加如下依赖:

<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.32</version><!-- 请根据最新版本更新 --></dependency>

二、Java 代码实现

2.1 创建数据库连接

接下来,在 Java 代码中实现与 MySQL 数据库的连接。以下是一个简单的连接示例:

packagecom.example.demo;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;publicclassMySQLConnection{privatestaticfinalString URL ="jdbc:mysql://localhost:3306/test_db";// 数据库地址privatestaticfinalString USER ="root";// 数据库用户名privatestaticfinalString PASSWORD ="your_password";// 数据库密码publicstaticConnectiongetConnection(){Connection connection =null;try{// 加载 JDBC 驱动Class.forName("com.mysql.cj.jdbc.Driver");// 获取数据库连接
            connection =DriverManager.getConnection(URL, USER, PASSWORD);System.out.println("数据库连接成功!");}catch(ClassNotFoundException e){System.out.println("找不到 JDBC 驱动!"+ e.getMessage());}catch(SQLException e){System.out.println("数据库连接失败!"+ e.getMessage());}return connection;}}

2.2 插入数据

接下来,我们编写一个方法来插入用户数据到

users

表中:

importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.SQLException;publicclassUserDAO{publicvoidaddUser(String username,String password){String sql ="INSERT INTO users (username, password) VALUES (?, ?)";try(Connection connection =MySQLConnection.getConnection();PreparedStatement preparedStatement = connection.prepareStatement(sql)){
            preparedStatement.setString(1, username);
            preparedStatement.setString(2, password);int rowsAffected = preparedStatement.executeUpdate();System.out.println("成功插入 "+ rowsAffected +" 行数据。");}catch(SQLException e){System.out.println("插入数据失败!"+ e.getMessage());}}}

2.3 查询数据

下面是一个查询用户数据的方法:

importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;publicclassUserDAO{// 其他代码...publicvoidgetAllUsers(){String sql ="SELECT * FROM users";try(Connection connection =MySQLConnection.getConnection();PreparedStatement preparedStatement = connection.prepareStatement(sql);ResultSet resultSet = preparedStatement.executeQuery()){while(resultSet.next()){int id = resultSet.getInt("id");String username = resultSet.getString("username");String password = resultSet.getString("password");System.out.println("用户ID: "+ id +", 用户名: "+ username +", 密码: "+ password);}}catch(SQLException e){System.out.println("查询数据失败!"+ e.getMessage());}}}

2.4 更新数据

更新用户信息的方法如下:

publicclassUserDAO{// 其他代码...publicvoidupdateUserPassword(int id,String newPassword){String sql ="UPDATE users SET password = ? WHERE id = ?";try(Connection connection =MySQLConnection.getConnection();PreparedStatement preparedStatement = connection.prepareStatement(sql)){
             
            preparedStatement.setString(1, newPassword);
            preparedStatement.setInt(2, id);int rowsAffected = preparedStatement.executeUpdate();System.out.println("成功更新 "+ rowsAffected +" 行数据。");}catch(SQLException e){System.out.println("更新数据失败!"+ e.getMessage());}}}

2.5 删除数据

删除用户数据的方法如下:

publicclassUserDAO{// 其他代码...publicvoiddeleteUser(int id){String sql ="DELETE FROM users WHERE id = ?";try(Connection connection =MySQLConnection.getConnection();PreparedStatement preparedStatement = connection.prepareStatement(sql)){
             
            preparedStatement.setInt(1, id);int rowsAffected = preparedStatement.executeUpdate();System.out.println("成功删除 "+ rowsAffected +" 行数据。");}catch(SQLException e){System.out.println("删除数据失败!"+ e.getMessage());}}}

三、测试代码

在主程序中测试上述功能,创建

Main

类并添加如下代码:

publicclassMain{publicstaticvoidmain(String[] args){UserDAO userDAO =newUserDAO();// 插入用户
        userDAO.addUser("john_doe","password123");// 查询用户
        userDAO.getAllUsers();// 更新用户密码
        userDAO.updateUserPassword(1,"new_password");// 查询用户
        userDAO.getAllUsers();// 删除用户
        userDAO.deleteUser(1);// 查询用户
        userDAO.getAllUsers();}}

四、总结

通过本文的介绍,你已经学会了如何在 Java 中连接 MySQL 数据库并实现数据交互。主要内容包括:

  • 数据库连接:使用 JDBC 连接 MySQL 数据库。
  • 数据操作:实现插入、查询、更新和删除(CRUD)操作。
  • 最佳实践:使用 PreparedStatement 避免 SQL 注入。

在实际应用中,建议使用连接池(如 HikariCP 或 DBCP)来提高性能和资源利用率。同时,可以考虑使用 ORM 框架(如 Hibernate 或 MyBatis)来简化数据库操作,提高开发效率。希望本文能帮助你快速上手 Java 与 MySQL 的数据交互!

标签: 数据库 mysql java

本文转载自: https://blog.csdn.net/qq_42978535/article/details/142653976
版权归原作者 一只蜗牛儿 所有, 如有侵权,请联系我们删除。

“MySQL 篇 - Java 连接 MySQL 数据库并实现数据交互”的评论:

还没有评论