开发者

Java连接MySQL数据库并实现数据交互功能

目录
  • 一、环境准备
    • 1.1 安装 mysql
    • 1.2 创建数据库和表
    • 1.3 添加 MySQL Connector/J 依赖
  • 二、Java 代码实现
    • 2.1 创建数据库连接
    • 2.2 插入数据
    • 2.3 查询数据
    • 2.4 更新数据
    • 2.5 删除数据
  • 三、测试代码
    • 四、总结

      一、环境准备

      1.1 安装 MySQL

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

      1.2 创建数据库和表

      在安装完成后,登录 MySQL 命令行工具,创建一个名为 test_db 的数据库,并在其中创建一个名为 users 的表:

      CREATE DATABASE test_db;
      
      USE test_db;
      
      CREATE TABLE users (
          id INT AUTO_INCREMENT PRIMARY KEY,
          username VARCHAR(50) NOT NULL,
          password VARCHAR(50) NOT NULL
      );
      

      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 数据库的连接。以下是一个简单的连接示例:

      package com.example.demo;
      
      import java.sql.Connection;
      import java.sql.DriverManager;
      import java.sql.SQLException;
      
      public class MySandroidQLConnection {
      
          private static final String URL = "jdbc:mysql://localhost:3306/test_db"; // 数据库地址
          private static final String USER = "root"; // 数据库用户名
          private static final String PASSWORD = "your_password"; // 数据库密码
      
          public static Connection getConnection() {
              Connection connection = null;
              try {
                  // 加载 JDBC 驱动
        php          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 (SQLjavascriptException e) {
                  System.out.println("数据库连接失败!" + e.getMessage());
              }
              return connection;
          }
      }
      

      2.2 插入数据

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

      import java.sql.Connection;
      import java.sql.PreparedStatement;
      import java.sql.SQLException;
      
      public class UserDAO {
      
          public void addUser(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 = preparedStatem编程ent.executeUpdate();
                  System.out.println("成功插入 " + rowsAffected + " 行数据。");
              } catch (SQLException e) {
                  System.out.println("插入数据失败!" + e.getMessage());
              }
          }
      }
      

      2.3 查询数据

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

      import java.sql.Connection;
      import java.sql.PreparedStatement;
      import java.sql.ResultSet;
      import java.sql.SQLException;
      
      public class UserDAO {
      
          // 其他代码...
      
          public void getAllUsers() {
              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 更新数据

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

      public class UserDAO {
      
          // 其他代码...
      
          public void updateUserPassword(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 删除数据

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

      public class UserDAO {
      
          // 其他代码...
      
          public void deleteUser(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 类并添加如下代码:

      public class Main {
          public static void main(String[] args) {
              UserDAO userDAO = new UserDAO();
      
              // 插入用户
              userDAO.addUser("john_doe", "password123");
              
              // 查询用户
              userDAO.getAllUsers();
              
              // 更新用户密码
              userDAO.updateUserPassword(1, "newjavascript_password");
              
              // 查询用户
              userDAO.getAllUsers();
              
              // 删除用户
              userDAO.deleteUser(1);
              
              // 查询用户
              userDAO.getAllUsers();
          }
      }
      

      四、总结

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

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

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

      以上就是Java连接MySQL数据库并实现数据交互功能的详细内容,更多关于Java连接MySQL数据交互的资料请关注编程客栈(www.devze.com)其它相关文章!

      0

      上一篇:

      下一篇:

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      最新开发

      开发排行榜