Java MySQL 连接
                           
天天向上
发布: 2025-03-03 23:31:27

原创
735 人浏览过

在 Java 中连接 MySQL 数据库通常需要以下几个步骤:

  1. 安装 MySQL JDBC 驱动程序:你需要下载并引入 MySQL JDBC 驱动,通常是 mysql-connector-java
  2. 加载 JDBC 驱动:在 Java 中使用 JDBC 连接数据库时,首先需要加载 MySQL 的 JDBC 驱动。
  3. 创建数据库连接:使用 DriverManager 类创建数据库连接。
  4. 执行 SQL 查询:通过 StatementPreparedStatement 执行 SQL 查询。
  5. 处理结果集:使用 ResultSet 获取查询结果。
  6. 关闭连接:在程序结束时关闭数据库连接。

1. 添加 MySQL JDBC 驱动

如果你使用 Maven,可以在 pom.xml 中添加 MySQL JDBC 驱动的依赖:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.23</version> <!-- 版本号根据实际情况调整 -->
</dependency>

如果没有使用 Maven,可以手动下载 MySQL JDBC 驱动 并将 JAR 文件添加到类路径中。

2. 创建数据库连接

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

public class MySQLConnectionExample {
    public static void main(String[] args) {
        // 数据库连接信息
        String url = "jdbc:mysql://localhost:3306/mydatabase"; // 数据库 URL
        String user = "root"; // 数据库用户名
        String password = "password"; // 数据库密码

        // 连接数据库
        try {
            // 加载 JDBC 驱动
            Class.forName("com.mysql.cj.jdbc.Driver");

            // 创建连接
            Connection conn = DriverManager.getConnection(url, user, password);

            System.out.println("成功连接到数据库!");

            // 这里可以执行 SQL 查询、更新等操作

            // 关闭连接
            conn.close();
        } catch (ClassNotFoundException e) {
            System.out.println("JDBC 驱动未找到");
            e.printStackTrace();
        } catch (SQLException e) {
            System.out.println("数据库连接失败");
            e.printStackTrace();
        }
    }
}

3. 执行 SQL 查询

使用 StatementPreparedStatement 执行 SQL 查询。推荐使用 PreparedStatement,它可以防止 SQL 注入并提供更好的性能。

使用 Statement 执行查询:

import java.sql.*;

public class StatementExample {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/mydatabase";
        String user = "root";
        String password = "password";

        try {
            // 加载 JDBC 驱动并创建连接
            Connection conn = DriverManager.getConnection(url, user, password);

            // 创建 Statement 对象
            Statement stmt = conn.createStatement();

            // 执行查询
            String sql = "SELECT * FROM employees";
            ResultSet rs = stmt.executeQuery(sql);

            // 处理结果集
            while (rs.next()) {
                int id = rs.getInt("id");
                String name = rs.getString("name");
                System.out.println("ID: " + id + ", Name: " + name);
            }

            // 关闭连接
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

使用 PreparedStatement 执行查询:

import java.sql.*;

public class PreparedStatementExample {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/mydatabase";
        String user = "root";
        String password = "password";

        try {
            // 加载 JDBC 驱动并创建连接
            Connection conn = DriverManager.getConnection(url, user, password);

            // 创建 PreparedStatement
            String sql = "SELECT * FROM employees WHERE id = ?";
            PreparedStatement pstmt = conn.prepareStatement(sql);
            pstmt.setInt(1, 1);  // 设置查询参数

            // 执行查询
            ResultSet rs = pstmt.executeQuery();

            // 处理结果集
            if (rs.next()) {
                int id = rs.getInt("id");
                String name = rs.getString("name");
                System.out.println("ID: " + id + ", Name: " + name);
            }

            // 关闭连接
            rs.close();
            pstmt.close();
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

4. 处理数据库结果集

查询结果通过 ResultSet 返回,你可以使用 ResultSet 对象来访问数据库返回的数据。

  • rs.getInt("column_name"): 获取整数类型的列数据。
  • rs.getString("column_name"): 获取字符串类型的列数据。
  • rs.next(): 移动到下一行结果。

5. 关闭数据库连接

在完成数据库操作后,务必关闭数据库连接,ResultSetStatement 对象也应关闭,以释放资源。

rs.close();
stmt.close();
conn.close();

6. 异常处理

在数据库操作中,可能会遇到 SQLException,因此应捕获该异常并进行适当的处理。可以通过 e.printStackTrace() 输出异常信息,或根据业务需求做进一步处理。

总结

  1. 使用 JDBC 驱动连接 MySQL。
  2. 使用 Connection 对象建立数据库连接。
  3. 通过 StatementPreparedStatement 执行 SQL 查询。
  4. 使用 ResultSet 处理查询结果。
  5. 完成后,记得关闭连接、ResultSetStatement

更多详细内容请关注其他相关文章。

发表回复 0

Your email address will not be published. Required fields are marked *