Java中的JDBC是什么?

  • Post category:Java

JDBC(Java DataBase Connectivity,Java数据库连接)是一种Java语言中用于连接和操作数据库的标准接口。它允许Java程序通过定义一组标准化的Java接口,与各种关系型数据库进行交互,实现在Java程序中进行数据的增删改查等操作。

JDBC连接数据库的基本步骤包括加载数据库驱动、建立连接、创建statement对象、执行SQL语句、处理查询结果、关闭连接等。下面给出两个示例展示JDBC的使用。

示例一:连接MySQL数据库

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

public class JDBCTest {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            // 加载MySQL驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            // 建立连接
            String url = "jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC";
            String user = "root";
            String password = "123456";
            conn = DriverManager.getConnection(url, user, password);
            // 创建statement对象
            String sql = "SELECT * FROM user";
            ps = conn.prepareStatement(sql);
            // 执行查询操作
            rs = ps.executeQuery();
            // 处理查询结果
            while (rs.next()) {
                System.out.print(rs.getInt("id") + "\t");
                System.out.print(rs.getString("name") + "\t");
                System.out.print(rs.getInt("age") + "\t");
                System.out.println(rs.getString("address"));
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            // 关闭连接
            try {
                if (rs != null) {
                    rs.close();
                }
                if (ps != null) {
                    ps.close();
                }
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

上面的示例展示了如何使用JDBC连接MySQL数据库,并执行查询操作打印查询结果。

示例二:连接Oracle数据库

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

public class JDBCTest {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            // 加载Oracle驱动
            Class.forName("oracle.jdbc.driver.OracleDriver");
            // 建立连接
            String url = "jdbc:oracle:thin:@localhost:1521:orcl";
            String user = "scott";
            String password = "tiger";
            conn = DriverManager.getConnection(url, user, password);
            // 创建statement对象
            String sql = "SELECT * FROM emp WHERE deptno = ?";
            ps = conn.prepareStatement(sql);
            ps.setInt(1, 10);
            // 执行查询操作
            rs = ps.executeQuery();
            // 处理查询结果
            while (rs.next()) {
                System.out.print(rs.getInt("empno") + "\t");
                System.out.print(rs.getString("ename") + "\t");
                System.out.print(rs.getString("job") + "\t");
                System.out.print(rs.getInt("mgr") + "\t");
                System.out.print(rs.getDate("hiredate") + "\t");
                System.out.print(rs.getDouble("sal") + "\t");
                System.out.print(rs.getDouble("comm") + "\t");
                System.out.println(rs.getInt("deptno"));
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            // 关闭连接
            try {
                if (rs != null) {
                    rs.close();
                }
                if (ps != null) {
                    ps.close();
                }
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

上面的示例展示了如何使用JDBC连接Oracle数据库,并执行参数查询操作打印查询结果。使用JDBC能够很方便地连接各种关系型数据库,实现Java程序与数据库的交互。