首页 / 韩国服务器 / 正文
Java如何连接MySQL数据库,java连接数据库的代码

Time:2025年01月06日 Read:7 评论:42 作者:y21dr45

在现代应用开发中,数据库扮演着至关重要的角色,Java作为一种广泛应用的编程语言,提供了丰富的API来与各种数据库进行交互,本文将详细介绍如何在Java中连接MySQL数据库,并实现基本的数据交互功能,无论你是初学者还是有经验的开发者,通过这篇文章都能掌握在Java中连接和操作MySQL数据库的基本技能。

Java如何连接MySQL数据库,java连接数据库的代码

一、环境准备

1. 安装MySQL

确保你已经安装了MySQL数据库,你可以从[MySQL官网](https://www.mysql.com/downloads/)下载并安装适合你操作系统的版本,安装完成后,记下安装目录,因为稍后我们会用到这个路径。

2. 创建数据库和表

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

-- 登录MySQL命令行工具
mysql -u root -p
-- 创建数据库
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
);

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>

如果你不使用Maven,可以从[MySQL官网](https://dev.mysql.com/downloads/connector/j/)下载Connector/J,并将其添加到项目的类路径中。

二、Java代码实现

1. 创建数据库连接

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

package com.example.demo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySQLConnection {
    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驱动
            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. 插入数据

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

package com.example.demo;
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 = preparedStatement.executeUpdate();
            System.out.println("成功插入 " + rowsAffected + " 行数据。");
        } catch (SQLException e) {
            System.out.println("插入数据失败!" + e.getMessage());
        }
    }
}

3. 查询数据

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

package com.example.demo;
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: " + username + ", Password: " + password);
            }
        } catch (SQLException e) {
            System.out.println("查询数据失败!" + e.getMessage());
        }
    }
}

4. 更新数据

更新数据的方法如下:

package com.example.demo;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
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());
        }
    }
}

5. 删除数据

删除数据的方法如下:

package com.example.demo;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
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());
        }
    }
}

三、完整示例代码

以下是一个完整的示例代码,展示了如何连接MySQL数据库并进行基本的CRUD(创建、读取、更新、删除)操作。

package com.example.demo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Main {
    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 void main(String[] args) {
        // 创建数据库连接
        try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) {
            System.out.println("数据库连接成功!");
            
            // 创建表
            String createTableSQL = "CREATE TABLE IF NOT EXISTS users (" +
                    "id INT AUTO_INCREMENT PRIMARY KEY," +
                    "username VARCHAR(50) NOT NULL," +
                    "password VARCHAR(50) NOT NULL" +
                    ")";

排行榜
关于我们
「好主机」服务器测评网专注于为用户提供专业、真实的服务器评测与高性价比推荐。我们通过硬核性能测试、稳定性追踪及用户真实评价,帮助企业和个人用户快速找到最适合的服务器解决方案。无论是云服务器、物理服务器还是企业级服务器,好主机都是您值得信赖的选购指南!
快捷菜单1
服务器测评
VPS测评
VPS测评
服务器资讯
服务器资讯
扫码关注
鲁ICP备2022041413号-1