在现代应用程序的开发中,数据库是不可或缺的一部分。MySQL作为一款流行的开源关系数据库管理系统,广泛应用于中小型企业以及互联网应用中。本文将介绍如何通过Java程序连接MySQL数据库,并实现基本的数据交互,包括数据的增、删、改、查操作。

一、环境准备

  1. 安装 MySQL:确保已经在本地或服务器上安装了MySQL数据库,并创建了一个数据库。
  2. 安装JDK:确保您的计算机上已经安装了Java开发工具包(JDK)。
  3. 下载 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的开发路上迈出第一步。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部