日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

JDBC——入门知识【转】

發(fā)布時(shí)間:2025/4/14 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JDBC——入门知识【转】 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?

1. 什么是JDBC:Java數(shù)據(jù)庫(kù)連接性(Java?Database Connectivity) API,允許用戶從Java應(yīng)用程序中訪問任何表格化數(shù)據(jù)源。

2. JDBC除了提供到更寬范圍的SQL數(shù)據(jù)庫(kù)的連接外,也允許用戶訪問其他的表格數(shù)據(jù)源,如:電子表格。

3. JDBC定義了一個(gè)底層的API,用來支持獨(dú)立于任何特定SQL實(shí)現(xiàn)的基本SQL功能。這意味著重要的是執(zhí)行原SQL語句,然后檢索它們的結(jié)果。

4. JDBC2.0 API包括兩個(gè)包:java.sql和jvax.sql。

5. JDBC3.0規(guī)范,于2001年10月發(fā)布,引入幾個(gè)特性,包括支持各種數(shù)據(jù)類型,附加的元數(shù)據(jù)能力,并增加了大量的接口。

6. JDBC的三種主要功能如下:

  • ?建立與數(shù)據(jù)庫(kù)或其他表列數(shù)據(jù)源的連接;
  • 向數(shù)據(jù)庫(kù)發(fā)送SQL命令
  • 處理結(jié)果

7. 使用JDBC API訪問數(shù)據(jù)庫(kù),并處理結(jié)果集的主要步驟:

  • 裝載JDBC驅(qū)動(dòng)程序
  • 獲取數(shù)據(jù)庫(kù)連接
  • 創(chuàng)建一條語句,執(zhí)行SQL環(huán)境(Statement)
  • 執(zhí)行SQL查詢
  • 從ResultSet中檢索數(shù)據(jù)
  • 釋放資源

8. 裝載JDBC驅(qū)動(dòng)程序的幾種方式:

  • Class.forName("驅(qū)動(dòng)類的全限定名");
  • Driver d = new 驅(qū)動(dòng)類全限定名();
    DriverManager.registerDriver(d); // 可以省略此句
  • java -Djdbc.drivers = 驅(qū)動(dòng)類全限定名
    此種方式是在啟動(dòng)JVM時(shí)就將驅(qū)動(dòng)類加載進(jìn)Java虛擬機(jī)

9. 獲取數(shù)據(jù)庫(kù)連接

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

?

10. 創(chuàng)建執(zhí)行SQL環(huán)境

????Statement stmt = conn.createStatement();

?

11. 執(zhí)行SQL

????String sql = "select rownum, sysdate from dual";

????ResultSet rs = stmt.executeQuery(sql);

?

12. 處理結(jié)果集

????while(rs.next()) {

????????int i = rs.getInt(1);

????????Date d = rs.getDate(2);

????????System.out.println(i + " , " + d);

????}

????// 注意,JDBC結(jié)果集列是從“1”開始的,而其它地方如hibernate等都是從“0”開始的

?

13. 釋放資源

????if(rs != null) rs.close();

????if(stmt != null) stmt.close();

????if(conn != null) conn.close();

?

14. 常見的幾種數(shù)據(jù)庫(kù)連接方式:

  • Oracle數(shù)據(jù)庫(kù):
    Class.forName("oracle.jdbc.driver.OracleDriver");
    String url = "jdbc:oracle:thin:@[hostName]:[port]:[DB]";
  • MySQL數(shù)據(jù)庫(kù):
    Class.forName("");
    String url = "jdbc:mysql://[hostName]:[port]/[DB]";

15. JDBC驅(qū)動(dòng)程序類型(4種)

  • JDBC-ODBC橋 + ODBC驅(qū)動(dòng)程序
    優(yōu)點(diǎn):
    它提供連接幾乎所有平臺(tái)上的所有數(shù)據(jù)庫(kù)能力;
    它可能是訪問低端桌面數(shù)據(jù)庫(kù)和應(yīng)用程序的唯一方式。
    缺點(diǎn):
    ODBC驅(qū)動(dòng)程序也必須加載到目標(biāo)機(jī)上;
    JDBC和ODBC轉(zhuǎn)換影響性能。
  • 本地API部分Java驅(qū)動(dòng)程序
    優(yōu)點(diǎn):
    比前一種驅(qū)動(dòng)程序快得多
    缺點(diǎn):
    需要在目標(biāo)機(jī)上有本地代碼;
    它們依賴的Java本地接口在不同JVM的提供商間的實(shí)現(xiàn)不一致。
  • JDBC-Net純Java驅(qū)動(dòng)程序
    優(yōu)點(diǎn):
    不要求客戶上有任何本地二進(jìn)制代碼;
    不需要客戶安裝;
    支持多個(gè)網(wǎng)絡(luò)選項(xiàng)。
    缺點(diǎn):
    由于網(wǎng)絡(luò)接口將體系結(jié)構(gòu)復(fù)雜化,因此很難建立。
  • 本地協(xié)議純Java驅(qū)動(dòng)程序
    目前的驅(qū)動(dòng)程序都是使用這種,比JDBC-ODBC橋快得多,100%Java驅(qū)動(dòng)程序,本地協(xié)議。

轉(zhuǎn)載于:https://www.cnblogs.com/Lxiaojiang/p/6708538.html

總結(jié)

以上是生活随笔為你收集整理的JDBC——入门知识【转】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。