20145124 陳威名 第九周學習總結

DBC全名Java DataBase Connectivity,是java聯機數據庫的標準規範。它定義一組標準類與接口,應用程序須要聯機數據庫時調用這組標準API。
JDBC標準主要分爲兩個部分:JDBC應用程序開發者接口和JDBC驅動程序開發者接口。java

要鏈接數據庫系統,必需要有廠商操做的JDBC驅動程序,必須在CLASSPATH中設定驅動程序JAR文檔。
操做Driver接口的對象是JDBC進行數據庫存取的起點。sql

Connection接口的操做對象是數據庫聯機表明對象,要取得Connection操做對象,能夠經過DriverManager的getConnection()。
可使用Connection的prepareStatement()方法創建好預先編譯的SQL語句,當中參數會變更的部分,先指定「?」這個佔位字符。數據庫

當MessageDAO的用戶沒法告知DriverManager有關JDBC URL、用戶名稱、密碼等信息時,可讓MessageDAO依賴於javax.sql.DataSource接口,經過其定義的getConnection()方法取得Connection。
每次執行excuteUpdate(),都會向數據庫發送一次SQL。批次更新時可使用addBatch()方法來收集SQL,並使用executeBatch()方法將所收集的SQL傳送出去。
交易的四個基本要求ACID:原子性、一致性、隔離行爲、持續性。
更新遺失:某個交易對字段進行更新的消息,因另外一個交易的介入而遺失更新效力。若是要避免此類問題,能夠設定隔離層級爲「可讀取未確認」,能夠經過Connection的setTransactionIsolation()設定爲TRANSACTION_UNCOMMITTED來提示數據庫肯定此隔離行爲。對象

髒讀:讀取到不乾淨、不正確的數據。若是要避免此類問題,能夠設定隔離層級爲「可讀取確認」,能夠經過Connection的setTransactionIsolation()設定爲TRANSACTION_COMMITTED來提示數據庫肯定此隔離行爲。接口

沒法重複的讀取:某個交易兩次讀取同一字段的數據並不一致。若是要避免此類問題,能夠設定隔離層級爲「可重複讀取」,能夠經過Connection的setTransactionIsolation()設定爲TRANSACTION_REPEATABLE_READ來提示數據庫肯定此隔離行爲。開發

幻讀:同一交易期間讀取到的數據筆數不一致。若是要避免此類問題,能夠設定隔離層級爲「可循序」,能夠經過Connection的setTransactionIsolation()設定爲TRANSACTION_SERIALIZABLE來提示數據庫肯定此隔離行爲。文檔

Metadata即詮讀數據的數據。
能夠經過Connection的getMetaD()方法取得DatabaseMetadata對象,經過這個對象提供的各類方法能夠取得數據庫總體信息,而ResultSet表示查詢到的數據,而數據自己的字段、類型等信息,能夠經過ResulSet的getMetaData對象,經過這個對象提供的相關方法就能夠取得域名、字段類型等信息。get

javax.sql.RowSet接口用以表明數據的類集合,數據能夠是電子表格數據、XML數據或任何具備列集合概念的數據源。可使用RowSet對列集合進行增刪查改。
JdcRowSet是聯機式的RowSet,在操做期間會保持與數據庫的聯機,可視爲取得、操做的行爲封裝。
CachedRowSet爲脫機式的RowSet,在查詢並填充完數據後就會斷開與數據源的聯機。域名

相關文章
相關標籤/搜索