(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)Java基础-JDBC-LMLPHP

目录

一、JDBC简介

1.1 什么是JDBC

1.2 JDBC的作用

1.3 JDBC的架构

二、JDBC核心接口与类

2.1 DriverManager

2.2 Connection

2.3 Statement

2.4 PreparedStatement

2.5 ResultSet

三、JDBC操作数据库的基本步骤

四、代码示例

五、深入JDBC的高级特性与性能优化 

5.1 批处理(Batch Processing)

5.2 事务管理

5.3 类型安全的查询

5.4 性能优化

5.5 安全性

5.6 监控与日志


一、JDBC简介

1.1 什么是JDBC

1.2 JDBC的作用

1.3 JDBC的架构

二、JDBC核心接口与类

2.1 DriverManager

2.2 Connection

2.3 Statement

2.4 PreparedStatement

2.5 ResultSet

三、JDBC操作数据库的基本步骤

四、代码示例

以下是一个使用JDBC连接MySQL数据库并执行查询操作的简单示例。

import java.sql.Connection;  
import java.sql.DriverManager;
import java.sql.Connection;  
import java.sql.DriverManager
public class JDBCExample {
    public static void main(String[] args) {  
        // 1. 加载并注册JDBC驱动(通常使用Class.forName()自动完成)  
        try {  
            Class.forName("com.mysql.cj.jdbc.Driver");  
        } catch (ClassNotFoundException e) {  
            e.printStackTrace();  
            return;  
        }  

        // 2. 建立数据库连接  
        String url = "jdbc:mysql://localhost:3306/yourdatabase?        
        useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";  
        String user = "yourusername";  
        String password = "yourpassword";  
        Connection conn = null;  
        try {  
            conn = DriverManager.getConnection(url, user, password);  

            // 3. 创建Statement对象  
            Statement stmt = conn.createStatement();  

            // 4. 执行SQL查询语句  
            String sql = "SELECT * FROM yourtable";  
            ResultSet rs = stmt.executeQuery(sql);  

            // 5. 处理结果集  
            while (rs.next()) {  
                // 假设我们查询的表有一个名为"id"和一个名为"name"的列  
                int id = rs.getInt("id");  
                String name = rs.getString("name");  
                System.out.println("ID: " + id + ", Name: " + name);  
            }  

        } catch (Exception e) {  
            e.printStackTrace();  
        } finally {  
            // 6. 关闭连接,释放资源  
            try {  
                if (conn != null) {  
                    conn.close();  
                }  
            } catch (Exception e) {  
                e.printStackTrace();  
            }  
        }  
    }
}

五、深入JDBC的高级特性与性能优化 

5.1 批处理(Batch Processing)

PreparedStatement pstmt = conn.prepareStatement("INSERT INTO yourtable (column1, column2) VALUES (?, ?)");  
for (int i = 0; i < 1000; i++) {  
    pstmt.setString(1, "value1_" + i);  
    pstmt.setInt(2, i);  
    pstmt.addBatch();  
    if (i % 100 == 0) { // 每100条执行一次批处理  
        pstmt.executeBatch();  
        pstmt.clearBatch();  
    }  
}  
if (pstmt.getBatchCount() > 0) {  
    pstmt.executeBatch();  
    pstmt.clearBatch();  
}

5.2 事务管理

try {  
    conn.setAutoCommit(false);  
    // 执行一系列数据库操作  
    // ...  
    conn.commit(); // 提交事务  
} catch (Exception e) {  
    try {  
        conn.rollback(); // 发生异常时回滚事务  
    } catch (SQLException se) {  
        se.printStackTrace();  
    }  
} finally {  
    conn.setAutoCommit(true); // 恢复自动提交  
}

5.3 类型安全的查询

5.4 性能优化

5.5 安全性

5.6 监控与日志

11-11 04:00