当前位置:首页 > Java > 正文

Java语言SQL执行教程(手把手教你用JDBC操作数据库)

在Java开发中,与数据库交互是常见的需求。无论是Web应用、桌面程序还是企业级系统,都需要通过Java SQL执行来读取或写入数据。本教程将带你从零开始,使用JDBC(Java Database Connectivity)技术,轻松掌握如何在Java中执行SQL语句。

Java语言SQL执行教程(手把手教你用JDBC操作数据库) Java SQL执行  JDBC教程 Java数据库连接 SQL查询Java 第1张

什么是JDBC?

JDBC 是 Java 提供的一套标准 API,用于连接和操作各种关系型数据库(如 MySQL、PostgreSQL、Oracle 等)。它允许开发者通过统一的接口执行 SQL查询Java 操作,而无需关心底层数据库的具体实现。

准备工作

在开始编码前,请确保你已安装以下工具:

  • Java Development Kit (JDK) 8 或更高版本
  • 一个数据库(本教程以 MySQL 为例)
  • MySQL 的 JDBC 驱动(mysql-connector-java)

你可以通过 Maven 添加依赖(推荐):

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

第一步:加载驱动并建立连接

在 Java 中执行 SQL 的第一步是连接到数据库。以下是一个完整的连接示例:

import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DatabaseConnection {    public static void main(String[] args) {        String url = "jdbc:mysql://localhost:3306/your_database_name";        String username = "your_username";        String password = "your_password";        try {            // 加载驱动(JDBC 4.0+ 可自动加载,但显式调用更安全)            Class.forName("com.mysql.cj.jdbc.Driver");            // 建立连接            Connection connection = DriverManager.getConnection(url, username, password);            System.out.println("✅ 数据库连接成功!");            // 记得关闭连接            connection.close();        } catch (ClassNotFoundException e) {            System.out.println("❌ 驱动未找到:" + e.getMessage());        } catch (SQLException e) {            System.out.println("❌ 数据库连接失败:" + e.getMessage());        }    }}  

第二步:执行SQL查询

连接成功后,就可以执行 SQL 语句了。下面演示如何查询用户表中的所有记录:

import java.sql.*;public class SelectExample {    public static void main(String[] args) {        String url = "jdbc:mysql://localhost:3306/testdb";        String user = "root";        String password = "123456";        try (Connection conn = DriverManager.getConnection(url, user, password);             Statement stmt = conn.createStatement();             ResultSet rs = stmt.executeQuery("SELECT id, name, email FROM users")) {            while (rs.next()) {                int id = rs.getInt("id");                String name = rs.getString("name");                String email = rs.getString("email");                System.out.println("ID: " + id + ", 姓名: " + name + ", 邮箱: " + email);            }        } catch (SQLException e) {            e.printStackTrace();        }    }}  

注意:我们使用了 try-with-resources 语法,它会自动关闭 ConnectionStatementResultSet,避免资源泄漏。

第三步:执行INSERT、UPDATE、DELETE

除了查询,你还可以执行增删改操作。这些操作使用 executeUpdate() 方法:

String insertSQL = "INSERT INTO users (name, email) VALUES ('张三', 'zhangsan@example.com')";int rowsAffected = stmt.executeUpdate(insertSQL);System.out.println("插入了 " + rowsAffected + " 行数据。");  

安全提示:使用PreparedStatement防止SQL注入

直接拼接 SQL 字符串非常危险!应使用 PreparedStatement 来参数化查询:

String sql = "SELECT * FROM users WHERE email = ?";try (PreparedStatement pstmt = conn.prepareStatement(sql)) {    pstmt.setString(1, "user@example.com");    ResultSet rs = pstmt.executeQuery();    // 处理结果...}  

总结

通过本教程,你已经掌握了如何在 Java 中使用 JDBC 进行 Java数据库连接Java SQL执行。记住以下关键点:

  • 始终使用 PreparedStatement 防止 SQL 注入
  • 使用 try-with-resources 自动管理资源
  • 处理异常,避免程序崩溃

现在,你可以自信地在你的 Java 项目中集成数据库功能了!更多高级技巧(如连接池、事务管理)将在后续教程中介绍。

关键词回顾:Java SQL执行、JDBC教程、Java数据库连接、SQL查询Java