The First Day (Writing online)

          JDBC:
              |-- 數(shù)據(jù)庫互聯(lián)。
              |-- 由SUN公司所制定的用來訪問數(shù)據(jù)庫的規(guī)范。
              |-- 數(shù)據(jù)庫數(shù)據(jù) <= 交互 => 應用程序。

          JDBC包含主要兩個部分:
              |-- part 1.由SUN公司制定的規(guī)范接口
                  |-- java.sql    -->  核心包
                  |-- javax.sql  -->  擴展包
              |-- part 2.由數(shù)據(jù)庫廠商所提供的數(shù)據(jù)庫驅(qū)動程序,它們實現(xiàn)了part 1部分。

          JDBC的驅(qū)動程序包含以下四種類型:
              |-- 第一代驅(qū)動(JDBC - ODBC Bridge)
                  |-- 首先把JDBC的調(diào)用轉(zhuǎn)換成ODBC的調(diào)用,再用ODBC與具體的數(shù)據(jù)庫系統(tǒng)通信。
              |-- 第二代驅(qū)動 (Native - API party - Java driver 本地API部分Java驅(qū)動)
                  |-- Conrerts JDBC calls into calls on the native client API of a specific RODMS.
                  |-- 缺點:不同的數(shù)據(jù)庫需要安裝不同的客戶端(每臺電腦都要裝)。
              |-- 第三代驅(qū)動 (JDBC - net pure Java driver 網(wǎng)絡純Java驅(qū)動)
                  |-- 提供網(wǎng)絡節(jié)點,通過網(wǎng)絡節(jié)點訪問數(shù)據(jù)庫。
                  |-- Translates JDBC calls into a DBMS independent net protocol, which is then translated 
                      to a DBMS protocol by a server.
              |-- 第四代驅(qū)動 (Native protocol pure Java driver 本地協(xié)議純Java驅(qū)動)
                  |-- Conrerts JDBC calls directly into the network protocol used by DBMS.

          JDBC核心API
          java.sql
          |--    Driver    [Interface]    所有驅(qū)動必需實現(xiàn)的接口

          |--    DriverManager    [Class]    用來管理一組數(shù)據(jù)庫的驅(qū)動

          |--    Connection    [Interface]    與數(shù)據(jù)庫的一個連接對象

          |--    Statement    [Interface]    用于執(zhí)行一個靜態(tài)的SQL語句,并返回它所生成的結(jié)果對象
              |--    PreparedStatement    [Interface]    表示預編譯SQL語句對象(動態(tài))
                  |--    CallableStatement    [interface]    表示用來調(diào)用存儲過程對象

          |--    ResultSet    [Interface]    存放查詢結(jié)果集的對象

          |--    Type    [Class]    

          |--    Blob    [Interface]    二進制大對象

          |--    Clob    [Interface]    字符大對象

          |--    SQLException    [Class]    數(shù)據(jù)庫最底層異常(已檢測異常)
              |--    SQLWarning    [Class]    警告

          |--    DatabaseMetaData    [Class]    基本數(shù)據(jù)的元數(shù)據(jù)

          |--    ResultSetMetaDate    [Class]    結(jié)果集的元數(shù)據(jù)


           編寫JDBC程序步驟
          step1:注冊驅(qū)動程序    [也就是把驅(qū)動加載到JVM中]
              1.Class.forName("驅(qū)動類的全限定名");
                  如:Class.forName("oracle.jdbc.driver.OracleDriver");
                          Class.forName("com.mysql.jdbc.Driver");
              2.使用new操作符來創(chuàng)建驅(qū)動類對象
                  如:Driver d = new oracle.jdbc.driver.OracleDriver();
                          //DriverManager.registerDriver(d);
              3.使用系統(tǒng)屬性-Djava.drivers來指定驅(qū)動類
                  如:-Djava.drivers = com.mysql.jdbc.Driver;
          step2:獲取數(shù)據(jù)庫連接    [Connection]
              如:
              String url = "主協(xié)議:此協(xié)議:thin:@ip地址:端口號:數(shù)據(jù)庫實例名";
              String user = "XXX";
              String pwd = "XXX";
              Connection con = DriverManager.getConnection(url,user,pwd);
          step3:創(chuàng)建執(zhí)行的SQL的環(huán)境    [也就是創(chuàng)建Statement]
              如:Statement stm = con.createStatement();
          step4:執(zhí)行SQL語句
              如:String sql = "select ..........";
                      ResultSet rs = stm.executeQuary(sql);
          step5:如果是select語句,則處理結(jié)果集    [ResultSet]
              如:while(rs.next()){
                          rs.getXXX系列的方法();
                      }
          step6:釋放資源    [close]
              如:if(con != null) con.close();
                      if(stm != null) stm.close();
                      if(rs != null) rs.close();



          My Java study notes.

          posted on 2008-09-18 00:59 mailguest 閱讀(148) 評論(0)  編輯  收藏 所屬分類: JDBC


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統(tǒng)計

          公告

          ~~~~~~JAVA學習筆記~~~~~~

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 娄底市| 米泉市| 阿鲁科尔沁旗| 永福县| 凌云县| 兴和县| 驻马店市| 孟州市| 吴川市| 收藏| 屯留县| 浦江县| 随州市| 大渡口区| 海晏县| 安龙县| 宾阳县| 新龙县| 宁乡县| 龙岩市| 丰县| 迭部县| 淮南市| 平遥县| 营山县| 新巴尔虎右旗| 抚顺县| 淮滨县| 池州市| 石阡县| 清水河县| 北海市| 富平县| 阿巴嘎旗| 静宁县| 山西省| 民县| 兰考县| 同仁县| 比如县| 岗巴县|