亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 4_jdbc學(xué)習(xí)筆記.txt

?? 偶去年8月份到11月份
?? TXT
字號:
2004-9-13     星期一     小雨

l. 連接到數(shù)據(jù)庫的方法
答:1) ODBC(Open Database Connectivity)
       一個(gè)以C語言為基礎(chǔ)訪問SQL為基礎(chǔ)數(shù)據(jù)庫引擎的接口,它提供了一致的接口用于和數(shù)據(jù)庫溝通以及訪問數(shù)據(jù)。
    2) JDBC
       Java版本的ODBC

2. JDBC應(yīng)用編程接口
答:JDBC應(yīng)用編程接口是:
    1) 標(biāo)準(zhǔn)的數(shù)據(jù)訪問接口,可以連到不同的數(shù)據(jù)庫;
    2) JAVA編程語言的一組類和接口。
    JDBC應(yīng)用編程接口能夠:
    1) 連接到數(shù)據(jù)庫;
    2) 發(fā)SQL查詢字符串到數(shù)據(jù)庫;
    3) 處理結(jié)果。
    JDBC應(yīng)用編程接口有二個(gè)主要的部分:
    1) JAVA應(yīng)用程序開發(fā)接口面向JAVA應(yīng)用程序開發(fā)者;
    2) JDBC驅(qū)動程序開發(fā)接口
    
3. JDBC Driver
答:1) 一大堆實(shí)現(xiàn)了JDBC類和接口的類;
    2) 提供了一個(gè)實(shí)現(xiàn)java.sql.Driver接口的類。

4. JDBC Driver的四種類型
答:1) JDBC-ODBC橋
    由ODBC驅(qū)動提供JDBC訪問
    2) 本地API
    部分Java driver把JDBC調(diào)用轉(zhuǎn)化成本地的客戶端API
    3) JDBC-net
    純的Java driver,將JDBC調(diào)用轉(zhuǎn)入DBMS,與網(wǎng)絡(luò)協(xié)議無關(guān)。然后通過服務(wù)器將調(diào)用轉(zhuǎn)為DBMS協(xié)議。
    4) 本地協(xié)議
    純的java driver,將JDBC調(diào)用直接轉(zhuǎn)為DBMS使用的網(wǎng)絡(luò)協(xié)議

5. JDBC開發(fā)者接口
答:1) java.sql--java 2平臺下JDBC的主要功能,標(biāo)準(zhǔn)版(J2SE)
    2) javax.sql--java 2平臺下JDBC增強(qiáng)功能,企業(yè)版(J2EE)

6. 使用URL確認(rèn)數(shù)據(jù)庫
答:我們使用URL來確定一個(gè)數(shù)據(jù)庫(正確的Driver,正確的主機(jī),正確的協(xié)議,正確的協(xié)議,正確的用戶名和密碼);
    語法:protocol:subprotocol:subname
    范例:jdbc:db2:MyTest
          jdbc:db2://localhost:6789/MyTest

7. javax.sql包JDBC2.0的增強(qiáng)功能
答:1) 數(shù)據(jù)源接口;
    2) 連接池;
    3) 分布式交易;
    4) 行集;

8. 創(chuàng)建一個(gè)基本的JDBC應(yīng)用
答:1) 步驟一:注冊一個(gè)driver;
    2) 步驟二:建立一個(gè)到數(shù)據(jù)庫的連接;
    3) 步驟三:創(chuàng)建一個(gè)statement;
    4) 步驟四:執(zhí)行SQL語句;
    5) 步驟五:處理結(jié)果;
    6) 步驟六:關(guān)閉JDBC對象

9. 注冊一個(gè)Driver(步驟一)
答:1) driver被用于連接到數(shù)據(jù)庫;
    2) JDBC應(yīng)用編程接口使用第一個(gè)能成功連接到給定URL的driver;
    3) 在同一時(shí)間可以裝載多個(gè)driver

10.注冊一個(gè)driver的方法:
答:1) 使用類loader(裝載;實(shí)例化;注冊入DriverManager)
       a. Class.forName("Com.ibm.db2.jdbc.app.DB2Driver");
       b. Class.forName("Com.ibm.db2.jdbc.net.DB2Driver");
       c. Class.forName("Com.microsoft.jdbc.sqlServer.SQLServerDriver);
       d. Class.forName("oracl.jdbc.driver.OracleDriver");
       e. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    2) 實(shí)例化一個(gè)Driver
       a. Driver drv = new COM.cloudscape.core.RmiJdbcDriver();

2004-9-14     星期二     陰

1. 建立一個(gè)到數(shù)據(jù)庫的連接(步驟二)
答:DriverManager調(diào)用getConnection(urlString)方法,實(shí)際上調(diào)用的是driver的connect(urlString)方法;
    1) 當(dāng)一個(gè)driver肯定地對應(yīng)到一個(gè)數(shù)據(jù)庫URL,DriverManager建立一個(gè)連接;
    2) 當(dāng)沒有driver匹配,返回null然后下一個(gè)driver被檢驗(yàn);
    3) 假如沒有建立連接,拋出一個(gè)SQLExcepiton異常

2. 經(jīng)常使用的一些JDBC URL
答:1) JDBC-ODBC: jdbc:odbc:<DB>
    2) Oracle: jdbc:oracle:oci:@<sid> or jdbc:oracle:thin:@<SID>
    3) Weblogic MS-SQL: jdbc:weblogic:mssqlserver4:<DB>@<HOST>:<PORT>
    4) DB2: jdbc:db2:MyTest or jdbc.db2://localhost:6789/MyTest(需要用戶名和密碼)

3. Driver連接方法
答:1) 創(chuàng)建一個(gè)到指定Driver實(shí)例的直接調(diào)用;
    2) 避免一般訪問的問題
       Driver drv = new COM.ibm.db2.jdbc.app.DB2Driver();
       Connection con = null;
       try {con = drv.connect("jdbc:db2:MyTest",new Properties())}
       catch(SQLException e){}

4. 創(chuàng)建一個(gè)Statement(步驟三)
答:1) Statement的三個(gè)接口:
       a. Statement;
       b. PreparedStatement(繼承自Statement);
       c. CallableStatement(繼承自PreparedStatement);
    2) 使用方法Connection.createStatement()得到一個(gè)Statement對象

5. PreparedStatement對象
答:1) 調(diào)用ProparedStatement比statement更為高效;
    2) 繼承自Statement;
    3) 語法:PreparedStatement pstm = connection.prepareStatement(sqlString);

6. CallableStatement對象
答:1) 通過CallableStatement調(diào)用數(shù)據(jù)庫中的存儲過程;
    2) 繼承自PreparedStatement;
    3) CallableStatement cstm = connection.prepareCall("{call return_student[?,?]}");
       cstm.setString(1,"8623034");
       cstm.registerOutparameter(2, Types.REAL);
       cstm.execute();
       float gpa = cstm.getFloat(2);

7. Statement接口的比較
答:             | Statement           | PreparedStatement         |  CallableStatement
    ------------------------------------------------------------------------------
    寫代碼位置   |   客戶端            | 客戶端                    |  服務(wù)器端
    ------------------------------------------------------------------------------
    寫代碼位置   |   客戶端            | 服務(wù)器端                  |  服務(wù)器端
    ------------------------------------------------------------------------------
    編寫代碼技術(shù) |Java,SQL操作        |Java,SQL操作              |  數(shù)據(jù)庫的程序語言,如PL/SQL
    ------------------------------------------------------------------------------
    可配置性     |   高                |第一次高,以后低           |  低
    ------------------------------------------------------------------------------
    可移植性     |   高                |假設(shè)支持PreparedStatement的話高	
    ------------------------------------------------------------------------------
    傳輸效率     |   低                |第一次低,以后高           |  高

8. 執(zhí)行SQL Statement(步驟四)
答:通過接口方法將SQL語句傳輸至黙認(rèn)的數(shù)據(jù)庫連接,返回結(jié)果可能是一個(gè)數(shù)據(jù)表,可以通過java.sql.ResultSet訪問。
    1) Statement的接口方法:
    a. executeQuery(sqlString): 執(zhí)行給定的SQL聲明,返回一個(gè)結(jié)果集(ResultSet)對象;
    b. executeUpdate(sqlString): 執(zhí)行給定的SQL聲明,可以是INSERT、UPDATE或DELETE聲明,也可以是SQL DDL聲明;
    c. execute(sqlString): 執(zhí)行給定的SQL聲明。

9. 處理結(jié)果(步驟五)
答:1) 使用結(jié)果集(ResultSet)對象的訪問方法獲取數(shù)據(jù);
       a. next():下一個(gè)記錄
       b. first():第一個(gè)記錄
       c. last():最后一個(gè)記錄
       d. previous():上一個(gè)記錄
    2) 通過字段名或索引取得數(shù)據(jù)
    3) 結(jié)果集保持了一個(gè)指向了當(dāng)前行的指針,初始化位置為第一個(gè)記錄前。

10. 關(guān)閉JDBC對象(步驟六)
答:1) 首先關(guān)閉記錄集;
    2) 其次關(guān)閉聲明;
    3) 最后關(guān)閉連接對象。

11. 數(shù)據(jù)表和類對應(yīng)的三種關(guān)系:
答:1) 一個(gè)表對應(yīng)一個(gè)類;
    2) 一個(gè)表對應(yīng)相關(guān)類;
    3) 一個(gè)表對應(yīng)整個(gè)類關(guān)系層

12. 類間關(guān)系的幾種表設(shè)計(jì):
答:1) 多對一,
    2) 一對一: 
    3) 一對多:
    4) 多對多:

13. SQL數(shù)據(jù)類型及其相應(yīng)的Java數(shù)據(jù)類型
答:SQL數(shù)據(jù)類型                     Java數(shù)據(jù)類型              說明
    ------------------------------------------------------------------
    INTEGER或者INT                  int                     通常是個(gè)32位整數(shù)
    SMALLINT                        short                   通常是個(gè)16位整數(shù)
    NUMBER(m,n) DECIMAL(m,n)        Java.sql.Numeric        合計(jì)位數(shù)是m的定點(diǎn)十進(jìn)制數(shù),小數(shù)后面有n位數(shù)
    DEC(m,n)                        Java.sql.Numeric        合計(jì)位數(shù)是m的定點(diǎn)十進(jìn)制數(shù),小數(shù)后面有n位數(shù)
    FLOAT(n)                        double                  運(yùn)算精度為n位二進(jìn)制數(shù)的浮點(diǎn)數(shù)
    REAL                            float                   通常是32位浮點(diǎn)數(shù)
    DOUBLE                          double                  通常是64位浮點(diǎn)數(shù)
    CHARACTER(n)或CHAR(n)           String                  長度為n的固定長度字符串
    VARCHAR(n)                      String                  最大長度為n的可變長度字符串
    BOOLEAN                         boolean                 布爾值
    DATE                            Java.sql.Date           根據(jù)具體設(shè)備而實(shí)現(xiàn)的日歷日期
    TIME                            Java.sql.Time           根據(jù)具體設(shè)備而實(shí)現(xiàn)的時(shí)戳
    TIMESTAMP                       Java.sql.Timestamp      根據(jù)具體設(shè)備而實(shí)現(xiàn)的當(dāng)日日期和時(shí)間
    BLOB                            Java.sql.Blob           二進(jìn)制大型對象
    CLOB                            Java.sql.Clob           字符大型對象
    ARRAY                           Java.sql.Array
    

2004-9-15     星期三      陰

1. 元數(shù)據(jù)
答:關(guān)于數(shù)據(jù)的信息,例如類型或者容量。通過JDBC API可以訪問:
    1) 數(shù)據(jù)庫元數(shù)據(jù);
       a. 使用connection.getMetadata方法返回DataMetaData引用
       b. 能夠使用isReadOnly此類方法獲取信息
    2) 結(jié)果集元數(shù)據(jù);
       a. 使用ResultSet.getMetadata方法返回ResultSetMetaData引用
       b. 能夠使用getColumnCount此類方法獲取信息

2. 事務(wù)處理
答:1) 一系列的動作作為一個(gè)不可分的操作;
    2) JDBC API中使用事務(wù)處理步驟:
       a. 用false作為參數(shù)調(diào)用setAutoCommit方法;
       b. 執(zhí)行一或多個(gè)關(guān)于數(shù)據(jù)庫的操作;
       c. 調(diào)用commit方法完成改變;
       d. 恢復(fù)上次提交后的改變,調(diào)用rollback方法.

       try
       {
          con.setAutoCommit(false);
          Statement stm = con.createStatement();
          stm.executeUpdate("insert into student(name, age, gpa) values('gzhu', 30, 4.8)");
          stm.commit();
       }
       catch(SQLException e)
       {
          try
          {
             con.rollback();
          }
          catch(Exception e)
          {
          }
       }

3. 并發(fā)控制
答:1) 設(shè)置隔離級別方法:setTransactionIsolation
    2) 隔離級別靜態(tài)變量
       a. TRANSACTION_NONE:只讀的數(shù)據(jù)字典;
       b. TRANSACTION_READ_UNCOMMITTED:只讀未提交數(shù)據(jù);
       c. TRANSACTION_READ_COMMITTED:只讀未提交數(shù)據(jù);
       d. TRANSACTION_REPEATABLE_READ:重復(fù)讀取數(shù)據(jù);
       e. TRANSACTION_SERIALIZABLE:無論做什么操作都不許別人動。
    3) 示例:con.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);

4. JDBC 2.0 應(yīng)用程序編程接口增強(qiáng)功能
答:1) ResultSet增強(qiáng):
       a. 可以回卷;
       b. 可以修改;
       設(shè)置示例:Statement stm = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    2) Statement增強(qiáng)了批量修改能力(batch updates);
    3) 更高級的數(shù)據(jù)類型(例:Struct)。

5. JDBC 2.0標(biāo)準(zhǔn)擴(kuò)展
答:1) JNDI(Java Naming and Directory Interface): 解決離散狀態(tài)下Object的查找;
    2) 連接池:在內(nèi)存中保存了一個(gè)數(shù)據(jù)庫連接,不需要注冊驅(qū)動器,提高性能的重要方法。













?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日韩麻豆91| 国产成人综合在线| 91成人看片片| 国产精品网曝门| 国产成人精品aa毛片| 精品盗摄一区二区三区| 久久成人免费电影| 51午夜精品国产| 天天色综合成人网| 宅男在线国产精品| 丝袜亚洲另类欧美综合| 欧美视频在线播放| 偷拍一区二区三区| 欧美日韩一级视频| 偷拍一区二区三区| 欧美刺激脚交jootjob| 久久电影国产免费久久电影| 日韩一区二区在线看片| 美脚の诱脚舐め脚责91 | 欧美一级二级在线观看| 日韩主播视频在线| 欧美一区二区三区在线观看视频| 日日欢夜夜爽一区| 欧美日韩综合不卡| 男女男精品视频| 欧美mv日韩mv国产| 国产成人av影院| 国产精品初高中害羞小美女文| 色婷婷久久久久swag精品| 亚洲图片欧美视频| 精品国产一区二区三区忘忧草| 国产在线一区二区| 一区二区三区av电影| 精品99一区二区三区| 色综合久久久久综合99| 久久成人综合网| 一区二区三区精品| 亚洲精品一区二区三区福利 | 在线观看91视频| 国产高清在线观看免费不卡| 亚洲一区二区不卡免费| 久久久精品黄色| 69堂精品视频| 91极品视觉盛宴| 国产凹凸在线观看一区二区| 日日噜噜夜夜狠狠视频欧美人| 亚洲桃色在线一区| 亚洲国产精品成人综合色在线婷婷 | 久久激五月天综合精品| 亚洲女同一区二区| 国产精品乱人伦| 日韩精品一区二区三区在线| 在线看日韩精品电影| 顶级嫩模精品视频在线看| 青青草精品视频| 亚洲成人一区二区在线观看| 亚洲欧洲日韩一区二区三区| 2024国产精品| 日韩欧美在线1卡| 欧美三级一区二区| 色哟哟亚洲精品| eeuss鲁片一区二区三区| 国产精品77777| 国产自产高清不卡| 麻豆久久一区二区| 日韩不卡一二三区| 午夜在线电影亚洲一区| 亚洲国产精品视频| 亚洲综合一区二区精品导航| 亚洲人妖av一区二区| 国产精品视频线看| 国产蜜臀97一区二区三区| 久久久久久久久久久99999| 精品国产一区二区三区不卡| 欧美tickling网站挠脚心| 欧美电影免费观看高清完整版| 91精品国产综合久久久蜜臀图片| 欧美丰满美乳xxx高潮www| 欧美日韩国产在线播放网站| 欧美日韩国产bt| 欧美日韩国产综合久久| 欧美日韩精品欧美日韩精品| 欧美剧情电影在线观看完整版免费励志电影 | 91福利在线看| 91国产免费看| 欧美中文字幕一区| 欧美乱妇20p| 欧美videos大乳护士334| 久久女同精品一区二区| 日本一区二区三级电影在线观看 | 日本aⅴ免费视频一区二区三区 | 亚洲精品欧美专区| 亚洲亚洲人成综合网络| 日本亚洲三级在线| 国产一区二区三区免费看| 丁香激情综合五月| 91麻豆蜜桃一区二区三区| 欧洲一区在线电影| 91精品在线观看入口| 日韩久久免费av| 免费成人深夜小野草| 狠狠色丁香久久婷婷综| 成人亚洲一区二区一| 欧美亚洲图片小说| 精品成人一区二区三区| 国产欧美精品一区二区色综合| 国产精品三级av| 国产精品卡一卡二| 亚洲激情图片qvod| 美女mm1313爽爽久久久蜜臀| 欧美一区二区三区喷汁尤物| 91免费小视频| 欧美精品高清视频| 亚洲精品国产a| av一区二区三区四区| 久久精品人人爽人人爽| 免费久久精品视频| 在线成人高清不卡| 亚洲一区二区三区四区五区中文| 91精品国产色综合久久ai换脸| 亚洲另类在线视频| 成人av先锋影音| 亚洲国产激情av| 高清国产一区二区| 国产亲近乱来精品视频| 国产精品一区二区不卡| 久久这里只有精品视频网| 激情丁香综合五月| 亚洲精品一区二区三区四区高清 | 成人国产免费视频| 国产香蕉久久精品综合网| 国内成人自拍视频| 久久久精品天堂| 国产不卡视频一区二区三区| 国产嫩草影院久久久久| youjizz国产精品| 亚洲色图一区二区| 一本大道av一区二区在线播放| 亚洲日本中文字幕区| 色偷偷久久人人79超碰人人澡| 亚洲黄色av一区| 欧美日韩一级二级三级| 日韩制服丝袜av| 欧美成人综合网站| 国产盗摄一区二区| 国产精品久久久一本精品| 99视频有精品| 亚洲一区欧美一区| 欧美一三区三区四区免费在线看| 毛片av一区二区| 国产欧美久久久精品影院| 99久久99久久精品免费看蜜桃| 亚洲精品国久久99热| 制服视频三区第一页精品| 国产一区二区三区黄视频 | 成人做爰69片免费看网站| 国产精品二三区| 91九色最新地址| 免费在线观看一区二区三区| 久久久亚洲午夜电影| 91免费版在线| 五月天婷婷综合| 337p日本欧洲亚洲大胆精品| 成人免费视频播放| 亚洲精品日韩专区silk| 日韩三级伦理片妻子的秘密按摩| 国产在线视频不卡二| 亚洲欧美一区二区在线观看| 欧美午夜一区二区| 久草中文综合在线| 亚洲三级在线免费| 日韩午夜三级在线| 成年人午夜久久久| 日韩av一区二区三区四区| 国产亚洲综合色| 在线观看av不卡| 国产精品综合网| 亚洲在线视频网站| 国产婷婷色一区二区三区 | 日本韩国精品一区二区在线观看| 天堂成人免费av电影一区| 国产午夜一区二区三区| 欧美日韩在线免费视频| 国产成人小视频| 水野朝阳av一区二区三区| 国产精品日韩精品欧美在线| 制服视频三区第一页精品| av不卡一区二区三区| 婷婷一区二区三区| 中文字幕日本乱码精品影院| 欧美tk—视频vk| 欧美综合色免费| 成人免费视频一区二区| 蜜臀久久久99精品久久久久久| 一区视频在线播放| 欧美sm极限捆绑bd| 欧美日韩一区在线观看| av动漫一区二区| 国产一区二区在线视频| 奇米精品一区二区三区在线观看 |