在Java开发中,数据库连接是一个非常常见的需求。MySQL是一种广泛使用的开源关系型数据库管理系统,而mysql-connector-java是用于Java与MySQL之间连接的官方JDBC驱动。下面,我们将讨论如何使用mysql-connector-java连接MySQL数据库,并给出相应的代码示例。

一、准备工作

在开始之前,请确保以下几点:

  1. 安装MySQL:确保你的机器上已安装MySQL,并且能够正常运行。
  2. 创建数据库:可以通过MySQL命令行或图形界面工具(如MySQL Workbench)创建一个测试数据库。例如,创建一个名为testdb的数据库。
  3. 添加JDBC驱动:将mysql-connector-java的JAR包添加到项目的构建路径中。你可以在MySQL官方网站下载最新版本的驱动。

二、Java代码示例

以下是一个简单的Java程序示例,它演示如何连接到MySQL数据库并执行基本的SQL操作(例如插入和查询)。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class MySQLConnectionExample {
    // JDBC URL,用户名和密码
    private static final String URL = "jdbc:mysql://localhost:3306/testdb?useSSL=false";
    private static final String USER = "root";  // MySQL用户名
    private static final String PASSWORD = "yourpassword";  // MySQL密码

    public static void main(String[] args) {
        Connection connection = null;

        try {
            // 1. 注册驱动
            Class.forName("com.mysql.cj.jdbc.Driver");

            // 2. 建立连接
            connection = DriverManager.getConnection(URL, USER, PASSWORD);
            System.out.println("数据库连接成功!");

            // 3. 创建表(如果未创建过)
            String createTableSQL = "CREATE TABLE IF NOT EXISTS users " +
                                     "(id INT AUTO_INCREMENT PRIMARY KEY, " +
                                     " name VARCHAR(100), " +
                                     " email VARCHAR(100))";
            executeUpdate(connection, createTableSQL);

            // 4. 插入数据
            String insertSQL = "INSERT INTO users (name, email) VALUES (?, ?)";
            try (PreparedStatement preparedStatement = connection.prepareStatement(insertSQL)) {
                preparedStatement.setString(1, "张三");
                preparedStatement.setString(2, "zhangsan@example.com");
                preparedStatement.executeUpdate();
                System.out.println("数据插入成功!");
            }

            // 5. 查询数据
            String selectSQL = "SELECT id, name, email FROM users";
            try (PreparedStatement preparedStatement = connection.prepareStatement(selectSQL);
                 ResultSet resultSet = preparedStatement.executeQuery()) {

                System.out.println("查询结果:");
                while (resultSet.next()) {
                    System.out.println("ID: " + resultSet.getInt("id") +
                                       ", 姓名: " + resultSet.getString("name") +
                                       ", 邮箱: " + resultSet.getString("email"));
                }
            }

        } catch (ClassNotFoundException e) {
            System.err.println("MySQL JDBC驱动未找到!");
            e.printStackTrace();
        } catch (SQLException e) {
            System.err.println("数据库连接失败!");
            e.printStackTrace();
        } finally {
            // 6. 关闭连接
            if (connection != null) {
                try {
                    connection.close();
                    System.out.println("数据库连接已关闭。");
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    // 执行更新的通用方法
    private static void executeUpdate(Connection connection, String sql) throws SQLException {
        try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
            preparedStatement.executeUpdate();
        }
    }
}

三、代码说明

  1. 注册驱动:通过Class.forName("com.mysql.cj.jdbc.Driver")注册MySQL JDBC驱动。
  2. 建立连接:使用DriverManager.getConnection(URL, USER, PASSWORD)方法连接到数据库。
  3. 创建表:通过执行CREATE TABLE语句来创建一个用户表(如果尚不存在)。
  4. 插入数据:使用PreparedStatement来插入数据,这样不仅可以防止SQL注入,还能够提高性能。
  5. 查询数据:查询并打印出数据库中的数据。
  6. 关闭连接:最后确保在finally块中关闭数据库连接,以释放资源。

通过上述代码示例,你可以看到如何在Java中有效地连接到MySQL数据库并进行基本的操作。希望这篇文章能够帮助你更好地理解Java与MySQL的连接方式。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部