成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JDBC基礎學習筆記總結與討論

開發 后端
本文是JDBC基礎學習的筆記,包括連接到數據庫的方法、JDBC應用編程接口、JDBC Driver的四種類型等等內容。

JDBC基礎l.連接到數據庫的方法

答:1)ODBC(OpenDatabaseConnectivity)

一個以C語言為基礎訪問SQL為基礎數據庫引擎的接口,它提供了一致的接口用于和數據庫溝通以及訪問數據。

2)JDBC

Java版本的ODBC

JDBC基礎2.JDBC應用編程接口

答:JDBC應用編程接口是:

1)標準的數據訪問接口,可以連到不同的數據庫;

2)JAVA編程語言的一組類和接口。

JDBC應用編程接口能夠:

1)連接到數據庫;

2)發SQL查詢字符串到數據庫;

3)處理結果。

JDBC應用編程接口有二個主要的部分:

1)JAVA應用程序開發接口面向JAVA應用程序開發者;

2)JDBC驅動程序開發接口

JDBC基礎3.JDBCDriver

答:1)一大堆實現了JDBC類和接口的類;

2)提供了一個實現java.sql.Driver接口的類。

JDBC基礎4.JDBCDriver的四種類型

答:1)JDBC-ODBC橋

由ODBC驅動提供JDBC訪問

2)本地API

部分Javadriver把JDBC調用轉化成本地的客戶端API

3)JDBC-net

純的Javadriver,將JDBC調用轉入DBMS,與網絡協議無關。然后通過服務器將調用轉為DBMS協議。

4)本地協議

純的javadriver,將JDBC調用直接轉為DBMS使用的網絡協議

JDBC基礎5.JDBC開發者接口

答:1)java.sql--java2平臺下JDBC的主要功能,標準版(J2SE)

2)javax.sql--java2平臺下JDBC增強功能,企業版(J2EE)

JDBC基礎6.使用URL確認數據庫

答:我們使用URL來確定一個數據庫(正確的Driver,正確的主機,正確的協議,正確的協議,正確的用戶名和密碼);

語法:protocol:subprotocol:subname

范例:jdbc:db2:MyTest

jdbc:db2://localhost:6789/MyTest

JDBC基礎7.javax.sql包JDBC2.0的增強功能

答:1)數據源接口;

2)連接池;

3)分布式交易;

4)行集;

JDBC基礎8.創建一個基本的JDBC應用

答:1)步驟一:注冊一個driver;

2)步驟二:建立一個到數據庫的連接;

3)步驟三:創建一個statement;

4)步驟四:執行SQL語句;

5)步驟五:處理結果;

6)步驟六:關閉JDBC對象

JDBC基礎9.注冊一個Driver(步驟一)

答:1)driver被用于連接到數據庫;

2)JDBC應用編程接口使用***個能成功連接到給定URL的driver;

3)在同一時間可以裝載多個driver

JDBC基礎10.注冊一個driver的方法:

答:1)使用類loader(裝載;實例化;注冊入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)實例化一個Driver

a.Driverdrv=newCOM.cloudscape.core.RmiJdbcDriver();

JDBC基礎

1.建立一個到數據庫的連接(步驟二)

答:DriverManager調用getConnection(urlString)方法,實際上調用的是driver的connect(urlString)方法;

1)當一個driver肯定地對應到一個數據庫URL,DriverManager建立一個連接;

2)當沒有driver匹配,返回null然后下一個driver被檢驗;

3)假如沒有建立連接,拋出一個SQLExcepiton異常

2.經常使用的一些JDBCURL

答:1)JDBC-ODBC:jdbc:odbc:

2)Oracle:jdbc:oracle:oci:@orjdbc:oracle:thin:@

3)WeblogicMS-SQL:jdbc:weblogic:mssqlserver4:@:

4)DB2:jdbc:db2:MyTestorjdbc.db2://localhost:6789/MyTest(需要用戶名和密碼)

3.Driver連接方法

答:1)創建一個到指定Driver實例的直接調用;

2)避免一般訪問的問題

  1. Driverdrv=newCOM.ibm.db2.jdbc.app.DB2Driver();  
  2. Connectioncon=null;  
  3. try{con=drv.connect("jdbc:db2:MyTest",newProperties())}  
  4. catch(SQLExceptione){} 

4.創建一個Statement(步驟三)

答:1)Statement的三個接口:

a.Statement;

b.PreparedStatement(繼承自Statement);

c.CallableStatement(繼承自PreparedStatement);

2)使用方法Connection.createStatement()得到一個Statement對象

5.PreparedStatement對象

答:1)調用ProparedStatement比statement更為高效;

2)繼承自Statement;

3)語法:PreparedStatementpstm=connection.prepareStatement(sqlString);

6.CallableStatement對象

答:1)通過CallableStatement調用數據庫中的存儲過程;

2)繼承自PreparedStatement;

3)CallableStatementcstm=connection.prepareCall("{callreturn_student[?,?]}");

  1. cstm.setString(1,"8623034");  
  2. cstm.registerOutparameter(2,Types.REAL);  
  3. cstm.execute();  
  4. floatgpa=cstm.getFloat(2); 

7.Statement接口的比較

答:|Statement|PreparedStatement|CallableStatement

------------------------------------------------------------------------------

寫代碼位置|客戶端|客戶端|服務器端

------------------------------------------------------------------------------

寫代碼位置|客戶端|服務器端|服務器端

------------------------------------------------------------------------------

編寫代碼技術|Java,SQL操作|Java,SQL操作|數據庫的程序語言,如PL/SQL

------------------------------------------------------------------------------

可配置性|高|***次高,以后低|低

------------------------------------------------------------------------------

可移植性|高|假設支持PreparedStatement的話高

------------------------------------------------------------------------------

傳輸效率|低|***次低,以后高|高

8.執行SQLStatement(步驟四)

答:通過接口方法將SQL語句傳輸至?認的數據庫連接,返回結果可能是一個數據表,可以通過java.sql.ResultSet訪問。

1)Statement的接口方法:

a.executeQuery(sqlString):執行給定的SQL聲明,返回一個結果集(ResultSet)對象;

b.executeUpdate(sqlString):執行給定的SQL聲明,可以是INSERT、UPDATE或DELETE聲明,也可以是SQLDDL聲明;

c.execute(sqlString):執行給定的SQL聲明。

9.處理結果(步驟五)

答:1)使用結果集(ResultSet)對象的訪問方法獲取數據;

a.next():下一個記錄

b.first():***個記錄

c.last():***一個記錄

d.previous():上一個記錄

2)通過字段名或索引取得數據

3)結果集保持了一個指向了當前行的指針,初始化位置為***個記錄前。

10.關閉JDBC對象(步驟六)

答:1)首先關閉記錄集;

2)其次關閉聲明;

3)***關閉連接對象。

11.數據表和類對應的三種關系:

答:1)一個表對應一個類;

2)一個表對應相關類;

3)一個表對應整個類關系層

12.類間關系的幾種表設計:

答:1)多對一,

2)一對一:

3)一對多:

4)多對多:

13.SQL數據類型及其相應的Java數據類型

答:SQL數據類型Java數據類型說明

------------------------------------------------------------------

INTEGER或者INTint通常是個32位整數

SMALLINTshort通常是個16位整數

NUMBER(m,n)DECIMAL(m,n)Java.sql.Numeric合計位數是m的定點十進制數,小數后面有n位數

DEC(m,n)Java.sql.Numeric合計位數是m的定點十進制數,小數后面有n位數

FLOAT(n)double運算精度為n位二進制數的浮點數

REALfloat通常是32位浮點數

DOUBLEdouble通常是64位浮點數

CHARACTER(n)或CHAR(n)String長度為n的固定長度字符串

VARCHAR(n)String***長度為n的可變長度字符串

BOOLEANboolean布爾值

DATEJava.sql.Date根據具體設備而實現的日歷日期

TIMEJava.sql.Time根據具體設備而實現的時戳

TIMESTAMPJava.sql.Timestamp根據具體設備而實現的當日日期和時間

BLOBJava.sql.Blob二進制大型對象

CLOBJava.sql.Clob字符大型對象

ARRAYJava.sql.Array

JDBC基礎

1.元數據

答:關于數據的信息,例如類型或者容量。通過JDBCAPI可以訪問:

1)數據庫元數據;

a.使用connection.getMetadata方法返回DataMetaData引用

b.能夠使用isReadOnly此類方法獲取信息

2)結果集元數據;

a.使用ResultSet.getMetadata方法返回ResultSetMetaData引用

b.能夠使用getColumnCount此類方法獲取信息

2.事務處理

答:1)一系列的動作作為一個不可分的操作;

2)JDBCAPI中使用事務處理步驟:

a.用false作為參數調用setAutoCommit方法;

b.執行一或多個關于數據庫的操作;

c.調用commit方法完成改變;

d.恢復上次提交后的改變,調用rollback方法.

  1. try  
  2. {  
  3. con.setAutoCommit(false);  
  4. Statementstm=con.createStatement();  
  5. stm.executeUpdate("insertintostudent(name,age,gpa)values('gzhu',30,4.8)");  
  6. stm.commit();  
  7. }  
  8. catch(SQLExceptione)  
  9. {  
  10. try  
  11. {  
  12. con.rollback();  
  13. }  
  14. catch(Exceptione)  
  15. {  
  16. }  

3.并發控制

答:1)設置隔離級別方法:setTransactionIsolation

2)隔離級別靜態變量

a.TRANSACTION_NONE:只讀的數據字典;

b.TRANSACTION_READ_UNCOMMITTED:只讀未提交數據;

c.TRANSACTION_READ_COMMITTED:只讀未提交數據;

d.TRANSACTION_REPEATABLE_READ:重復讀取數據;

e.TRANSACTION_SERIALIZABLE:無論做什么操作都不許別人動。

3)示例:con.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);

4.JDBC2.0應用程序編程接口增強功能

答:1)ResultSet增強:

a.可以回卷;

b.可以修改;

設置示例:Statementstm=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

2)Statement增強了批量修改能力(batchupdates);

3)更高級的數據類型(例:Struct)。

5.JDBC2.0標準擴展

答:1)JNDI(JavaNamingandDirectoryInterface):解決離散狀態下Object的查找;

2)連接池:在內存中保存了一個數據庫連接,不需要注冊驅動器,提高性能的重要方法。

JDBC基礎學習筆記總結與討論就到這里

【編輯推薦】

  1. 使用JDBC的五個精華功能
  2. Tomcat5+MySQL JDBC連接池配置
  3. 在Weblogic中實現JDBC的功能
  4. 詳解JDBC與Hibernate區別
  5. JDBC連接MySQL數據庫關鍵四步
  6. 詳解JDBC驅動的四種類型
責任編輯:彭凡 來源: 51CTO博客
相關推薦

2013-03-28 09:45:34

iOS學習筆記總結整理

2009-06-17 14:21:39

core java

2009-08-13 18:21:52

C#學習筆記

2009-07-15 17:11:31

JDBC的概念

2009-07-22 16:07:11

Java JDBC編程

2010-06-30 18:09:22

UML建模

2010-06-13 13:44:07

UML學習筆記

2010-01-14 17:02:10

學習C++

2024-03-19 08:54:20

Rust語言內存管理應用程序開發

2010-05-04 13:59:09

負載均衡技術

2009-09-08 16:11:20

CCNA(640-80

2010-07-09 14:05:56

UML建模

2010-01-26 17:53:05

C++入門學習

2009-12-17 16:15:00

CCNP學習筆記

2009-11-25 16:35:25

VS 2003系統

2011-08-04 14:58:37

Objective-C Cocoa NSString

2009-08-13 16:13:03

C#基礎知識

2015-07-07 10:43:59

Swift語法基礎

2009-11-13 16:53:12

Oracle文檔

2010-06-02 09:06:26

SVN學習
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产玖玖| 国产精品夜间视频香蕉 | 天天狠狠 | 2021狠狠干| 激情五月婷婷综合 | 宅女噜噜66国产精品观看免费 | 国产亚洲精品a | av一区二区三区四区 | 亚洲一级毛片 | 九色porny自拍视频 | 在线国产一区二区 | 91xxx在线观看 | 亚洲一区二区三区国产 | 日韩中文字幕 | 中文字幕免费在线 | 国产精品99久久久久久宅男 | 日本精品视频在线观看 | 亚洲入口| 一区二区三区久久久 | 91久久国产综合久久91精品网站 | 国产精品久久片 | 黄色大片免费看 | 91精品国产美女在线观看 | 日韩 国产 在线 | 欧美精品三区 | 久久久久久高潮国产精品视 | a级片在线观看 | 亚洲欧美中文日韩在线v日本 | 日韩在线精品视频 | 国产精品一区二区av | 我想看国产一级毛片 | 成人午夜高清 | 色视频在线播放 | 久草视频在线播放 | 喷水毛片| 午夜视频在线免费观看 | 不卡一区二区三区四区 | 亚洲一区二区精品视频在线观看 | 欧美亚洲国产一区二区三区 | 亚洲97| 欧美三级视频在线观看 |