溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

好程序員Java教程解讀JDBC是什么

發(fā)布時間:2020-08-18 17:08:05 來源:ITPUB博客 閱讀:175 作者:好程序員IT 欄目:編程語言

  好程序員 解讀 JDBC 是什么, JDBC 簡介 - JDBC Java DataBase Connectivity,java 數(shù)據(jù)庫連接)是一種用于執(zhí)行 SQL 語句的 Java API ,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用 Java 語言編寫的類和接口組成。 JDBC 提供了一種基準(zhǔn),據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠編寫數(shù)據(jù)庫應(yīng)用程序

- Java  具有堅固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是  Java 應(yīng)用程序與各種不同數(shù)據(jù)庫之間進行對話的方法。

- JDBC 可以在各種平臺上使用 Java ,如 Windows Mac OS 和各種版本的 UNIX 。

- JDBC 庫包括通常與數(shù)據(jù)庫使用相關(guān)的下面提到的每個任務(wù)的 API

 

JDBC 使用步驟
    -  連接數(shù)據(jù)庫。
    -  創(chuàng)建 SQL MySQL 語句。
    -  在數(shù)據(jù)庫中執(zhí)行 SQL MySQL 查詢。
    -  查看和修改生成的記錄。

JDBC 核心組件
* DriverManager
    *  此類管理數(shù)據(jù)庫驅(qū)動程序列表。使用通信子協(xié)議將來自 java 應(yīng)用程序的連接請求與適當(dāng)?shù)臄?shù)據(jù)庫驅(qū)動程序匹配。

- Driver
    *  此接口處理與數(shù)據(jù)庫服務(wù)器的通信,我們很少會直接與 Driver 對象進行交互。而是使用 DriverManager 對象來管理這種類型的對象。

* Connection
    *  該界面具有用于聯(lián)系數(shù)據(jù)庫的所有方法。連接對象表示通信上下文,即,與數(shù)據(jù)庫的所有通信僅通過連接對象。

* Statement
    *  使用從此接口創(chuàng)建的對象將 SQL 語句提交到數(shù)據(jù)庫。除了執(zhí)行存儲過程之外,一些派生接口還接受參數(shù)。

* ResultSet
    *  在使用 Statement 對象執(zhí)行 SQL 查詢后,這些對象保存從數(shù)據(jù)庫檢索的數(shù)據(jù)。它作為一個迭代器,允許我們移動其數(shù)據(jù)。

* SQLException
    *  此類處理數(shù)據(jù)庫應(yīng)用程序中發(fā)生的任何錯誤

JDBC 案例代碼
package com.qianfeng.demos;

 

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

 

 

public class Demo01 {

 

    public static void main(String[] args) throws ClassNotFoundException, SQLException {

        // 1.加載驅(qū)動

        // DriverManager.registerDriver(new com.mysql.jdbc.Driver());

        Class.forName("com.mysql.jdbc.Driver");

        String url = "jdbc:mysql://localhost:3306/students?useSSL=false";

        String user = "root";

        String password = "root";

        // 2.獲取java和數(shù)據(jù)庫的鏈接

        Connection conn = DriverManager.getConnection(url, user, password);

        

        // 3.獲取statement對象,執(zhí)行SQL語句

        Statement stmt = conn.createStatement();

        

        // 4.編寫SQL語句

        String sql = "select * from shuihu";

        

        // 5.執(zhí)行sql語句,獲取返回結(jié)果

        ResultSet resultSet = stmt.executeQuery(sql);

        

        // 6.編寫循環(huán),不斷判斷和獲取resultset中的內(nèi)容

        while(resultSet.next()) {

            System.out.println(resultSet.getObject(1)

                    + "\t" + resultSet.getObject(2)

                    + "\t" + resultSet.getObject(3)

                    + "\t" + resultSet.getObject(4)

                    + "\t" + resultSet.getObject(5)

                    + "\t" + resultSet.getObject(6));

        }

        

        // 7.釋放資源

        resultSet.close();

        stmt.close();

        conn.close();

    }

}

 


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI