面試題:說下原生jdbc 操作數據庫流程?


原生的jdbc操作數據庫流程:
1.注冊驅動程序:Class.forName(“com.mysql.jdbc.Driver”);
2.使用驅動管理類來獲取數據連接對象:conn = DriverManager.getConnection(…);
3.獲取數據庫操作對象:Statement stmt = conn.createStatement();
4.定義操作的SQL語句
5.執行SQL:stmt.executeQuery(sql);
6.處理結果集:ResultSet,如果SQL前有參數值就設置參數值setXXX()
7.關閉對象,回收數據庫資源(關閉結果集–>關閉數據庫操作對象–>關閉連接)

public class JDBCTest {
    /** * 使用JDBC連接並操作mysql數據庫 */
    public static void main(String[] args) {
        // 數據庫驅動類名的字符串
        String driver = "com.mysql.jdbc.Driver";
        // 數據庫連接串
        String url = "jdbc:mysql://127.0.0.1:3306/jdbctest";
        // 用戶名
        String username = "root";
        // 密碼
        String password = "1234";
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
            // 1、加載數據庫驅動( 成功加載后,會將Driver類的實例注冊到DriverManager類中)
            Class.forName(driver);
            // 2、獲取數據庫連接
            conn = DriverManager.getConnection(url, username, password);
            // 3、獲取數據庫操作對象
            stmt = conn.createStatement();
            // 4、定義操作的SQL語句
            String sql = "select * from user where id = 100";
            // 5、執行數據庫操作
            rs = stmt.executeQuery(sql);
            // 6、獲取並操作結果集
            while (rs.next()) {
                System.out.println(rs.getInt("id"));
                System.out.println(rs.getString("name"));
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 7、關閉對象,回收數據庫資源
            if (rs != null) { //關閉結果集對象
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (stmt != null) { // 關閉數據庫操作對象
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (conn != null) { // 關閉數據庫連接對象
                try {
                    if (!conn.isClosed()) {
                        conn.close();
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM