JDBC接口

2024-01-26  本文已影响0人  M_lear

JDBC(Java Database Connectivity)是 Java 编程语言中用于连接和执行数据库操作的一套 API。JDBC 提供了一种基于标准的方法来建立数据库连接、执行 SQL 语句、处理结果集等。以下是 JDBC 的一些主要接口:

1. DriverManager

用途: DriverManager 类是 JDBC 的管理层,用于管理 JDBC 驱动程序的加载和建立数据库连接。
关键方法:

2. Connection

用途: Connection 接口代表数据库连接。它用于执行 SQL 语句和管理事务。
关键方法:

3. Statement

用途: Statement 接口用于执行静态 SQL 语句并返回它所生成的结果。
关键方法:

4. PreparedStatement

用途: PreparedStatement 接口扩展了 Statement 接口,允许使用预编译的 SQL 语句。这提高了性能并提供了一种防止 SQL 注入的方法。
关键方法:

5. CallableStatement

用途: CallableStatement 接口用于执行数据库存储过程。
关键方法:

6. ResultSet

用途: ResultSet 接口表示数据库查询结果。它用于读取和遍历数据。
关键方法:

7. DataSource

用途: DataSource 接口是一个替代 DriverManager 的方式,用于建立数据库连接。它通常与连接池一起使用。
关键方法:

这些接口组成了 JDBC 的核心,通过它们可以实现 Java 应用程序与多种数据库之间的交互。使用 JDBC,开发者可以编写独立于底层数据库的代码,从而提高应用程序的可移植性。

执行一个事务的流程

DataSource ds = // 获取 DataSource
Connection conn = null;
PreparedStatement pstmt = null;

try {
    conn = ds.getConnection();
    conn.setAutoCommit(false);

    String sql = "INSERT INTO your_table (column1, column2) VALUES (?, ?)";
    pstmt = conn.prepareStatement(sql);

    // 设置参数
    pstmt.setString(1, "value1");
    pstmt.setInt(2, 123);

    // 执行更新
    pstmt.executeUpdate();

    // 可以添加更多的 SQL 操作

    conn.commit(); // 提交事务
} catch (SQLException e) {
    if (conn != null) {
        try {
            conn.rollback(); // 回滚事务
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }
    e.printStackTrace();
} finally {
    // 关闭资源
    if (pstmt != null) pstmt.close();
    if (conn != null) conn.close();
}

DataSource通常是我们使用的连接池,比如Springboot默认使用的HikariCP连接池:

HikariDataSource ds = new HikariDataSource();
ds.setJdbcUrl("jdbc:mysql://localhost:3306/yourdb");
ds.setUsername("username");
ds.setPassword("password");
// 其他配置...
上一篇 下一篇

猜你喜欢

热点阅读