📜  jdbc 代码 (1)

📅  最后修改于: 2023-12-03 15:02:07.352000             🧑  作者: Mango

JDBC 代码介绍

JDBC(Java Database Connectivity)是Java程序员操作数据库的标准API。本文将介绍JDBC代码的基本结构和使用方法。

基本结构

JDBC代码基本包括以下步骤:

  1. 加载并注册数据库的JDBC驱动;
  2. 建立与数据库的连接;
  3. 创建Statement对象(或PreparedStatement、CallableStatement对象);
  4. 执行SQL语句并获取结果集(如果需要);
  5. 处理结果集(如果需要);
  6. 关闭连接。
使用方法

下面是一个例子:

import java.sql.*;

public class JdbcDemo {

    public static void main(String[] args) throws Exception {
        // 加载并注册MySQL的JDBC驱动
        Class.forName("com.mysql.jdbc.Driver");
        // 建立与数据库的连接
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
        // 创建Statement对象
        Statement stmt = conn.createStatement();
        // 执行SQL语句并获取结果集
        ResultSet rs = stmt.executeQuery("SELECT * FROM student");
        // 处理结果集
        while (rs.next()) {
            int id = rs.getInt("id");
            String name = rs.getString("name");
            int age = rs.getInt("age");
            System.out.println("id=" + id + ", name=" + name + ", age=" + age);
        }
        // 关闭连接
        rs.close();
        stmt.close();
        conn.close();
    }

}

此例子实现了连接MySQL数据库,查询student表中的数据,并输出结果。

常用对象
Connection

Connection对象代表与数据库的连接。可以使用DriverManager.getConnection()方法获得Connection对象。例如:

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
Statement

Statement对象用于向数据库发送SQL语句并执行。可以使用Connection.createStatement()方法获得Statement对象。例如:

Statement stmt = conn.createStatement();
PreparedStatement

PreparedStatement对象与Statement对象类似,但在执行同一个SQL语句时可以多次使用,从而提高效率。可以通过Connection.prepareStatement()方法获得PreparedStatement对象。例如:

PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM student WHERE id = ?");
pstmt.setInt(1, 1);
ResultSet rs = pstmt.executeQuery();
CallableStatement

CallableStatement对象用于执行带有参数的存储过程,并返回一个结果。可以通过Connection.prepareCall()方法获得CallableStatement对象。例如:

CallableStatement cstmt = conn.prepareCall("{CALL my_procedure(?, ?, ?)}");
cstmt.setInt(1, 1);
cstmt.setString(2, "Jack");
cstmt.setInt(3, 18);
ResultSet rs = cstmt.executeQuery();
ResultSet

ResultSet对象代表SQL语句执行后返回的结果集。可以通过Statement.executeQuery()方法或PreparedStatement.executeQuery()方法获得ResultSet对象。例如:

ResultSet rs = stmt.executeQuery("SELECT * FROM student WHERE id = 1");
while (rs.next()) {
    int age = rs.getInt("age");
    String name = rs.getString("name");
    System.out.println("name=" + name + ", age=" + age);
}

以上就是一个简单的JDBC代码介绍。JDBC的使用方法和细节还有很多,需要不断深入学习和实践。