Java连接MySQL数据库(maven构建)

发布时间 2023-12-02 23:19:34作者: vLiion

构建方式:Java + MySql + Maven



1. 创建项目

image



2. 导入依赖

选择目录中的 pom.xml 文件,导入 mysql 连接驱动依赖

注意这里版本使用的是 MySql 8.0,MySql 在 8.0 版本有较大改动

    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.33</version>
        </dependency>
    </dependencies>

image



3. 创建数据库

安装和配置 MySql 过程不再赘述,请确保已安装 MySql ,这里使用 MySql 8.0 版本

这里演示创建数据库为 test,表名为 user,并插入一些示例数据

点击查看sql文件代码
-- 创建user表
CREATE TABLE user (
    id INT PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(50) NOT NULL,
    password VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL
);

-- 插入示例数据
INSERT INTO user (username, password, email) VALUES
('john_doe', 'password123', 'john.doe@example.com'),
('jane_smith', 'pass456', 'jane.smith@example.com'),
('bob_jackson', 'secure789', 'bob.jackson@example.com');



4. 配置 mysql

创建 MysqlConnection.java 文件,填入以下内容,并配置好 数据库名称usernamepassword

点击查看 MysqlConnection.java 代码

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

public class MysqlConnection {
    private static final String JDBC_URL = "jdbc:mysql://localhost:3306/test";
    private static final String USERNAME = "root";
    private static final String PASSWORD = "xxxx";

    public static Connection getConnection() {
        Connection connection = null;
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            connection = DriverManager.getConnection(JDBC_URL, USERNAME, PASSWORD);
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
        return connection;
    }

    public static void closeConnection(Connection connection) {
        if (connection != null) {
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}


image



5. 执行 sql 语句,输出内容

到这里,mysql 就配置好了,可以创建类进行测试了!

可以现在创建一个 Main.java,然后执行 sql 语句,输出内容

点击查看 Main.java 代码
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Main {
    public static void main(String[] args) {
        Connection connection = MysqlConnection.getConnection();

        try {
            // 查询语句
            String query = "SELECT * FROM user";
            PreparedStatement preparedStatement = connection.prepareStatement(query);
            ResultSet resultSet = preparedStatement.executeQuery();

            while (resultSet.next()) {
                // 获取字段的值
                String username = resultSet.getString("username");
                String password = resultSet.getString("password");

                // 打印获取到字段的值
                System.out.println("username: " + username + ", password: " + password);
            }

            // 关闭资源
            resultSet.close();
            preparedStatement.close();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            // 关闭数据库连接
            MysqlConnection.closeConnection(connection);
        }
    }
}



其它问题

语句可以正常运行,但查询语句显示红色状态

image

解决方案:

这是由于 idea 没用正确识别到 sql 语句导致的,解决方法是配置 mysql 连接

image