Skip to content

jdbc

JDBC提供了以下几种接口和类来访问数据库:

DriverManager:管理JDBC驱动程序的基本服务。 Connection:与特定数据库的连接。 ResultSet:表示SQL查询的结果集。

STATEMENT:使用普通的 Statement 对象执行 SQL。这种方式不支持预编译(PreparedStatement),因此不适合处理包含参数的查询。 PREPARED:使用 PreparedStatement 对象执行 SQL。这是最常用的方式,因为它支持预编译 SQL 语句,并且可以防止 SQL 注入攻击,同时也能提高性能,特别是在需要多次执行相同 SQL 语句的情况下。 CALLABLE:使用 CallableStatement 对象执行存储过程。当你需要调用数据库中的存储过程时,就需要使用这种类型

java
package com.jasper;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JdbcExample {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;

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

            // 打开连接
            String url = "jdbc:mysql://localhost:3306/learn?useSSL=false&serverTimezone=UTC";
            String user = "root";
            String password = "1q2w3e4r";
            conn = DriverManager.getConnection(url, user, password);

            // 执行查询
            stmt = conn.createStatement();
            String sql = "SELECT id, title FROM system_notice";
            rs = stmt.executeQuery(sql);

            // 展开结果集
            while (rs.next()) {
                int id = rs.getInt("id");
                String name = rs.getString("title");
                System.out.println("ID: " + id + ", title: " + name);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 关闭资源
            try {
                if (rs != null) rs.close();
            } catch (Exception e) {
            };
            try {
                if (stmt != null) stmt.close();
            } catch (Exception e) {
            };
            try {
                if (conn != null) conn.close();
            } catch (Exception e) {
            };
        }
    }
}