標籤:資料 statement 完成 持久性 固定 溢出 運行 線程 字元
## JDBC的大類型資料的存取 ##
# 基本概念;
|-- 大文本類型資料和大位元據;
主要思想用於將大型的位元據(位元組)
或是大型的文本資料(字元)從磁碟檔案中讀取
到資料庫中,或是從資料庫中讀出到磁碟中;
簡言之是資料庫的流操作;
# 大文本資料;
>> 基本步驟;
|-- ClobTest.java
|-- 建庫;
|-- 建表;
|-- 更新設定檔;
|-- 從流中將資料讀取到資料庫當中;
|-- setCharacterStream()方法的細節問題;
> 在1.6當中才會支援long類型;
> 在1.5當中只支援int類型;
|-- 從資料庫中將資料讀取出來;
# 大位元據;
>> 基本步驟;(參考文本類型方法);
## 批處理 ##
# 基本概念;
|-- 批量處理資料;
# 兩種處理方式
>> Statement
|-- sql語句固定;
|-- 可以一次性執行不同的sql
>> PreaparedStatement
|-- sql參數不確定
|-- 一次性只能執行相同的語句;
|-- 記憶體溢出;
> 由於每次添加的資料都在記憶體當中;
> 所以當超出一定的限定之後可能會導致記憶體溢出;
|-- 最佳化;
> 使用判斷語句;
> 分批次執行;
> 然後清空已經執行完畢的資料;
## 預存程序調用 ##
# 基本概念;
事先由DBA開發並被事先編譯完成,運行在伺服器上;
可提高效率和安全性;
# 使用方式
>> 定義;
>> 使用;(可參見資料);
>> 調用;
## 事務入門 ##
# 基本概念;
事物處理語言(TPL);
預設情況下一條語句就是一個單獨的事務,事務是一個整體;
可以將多條執行同一個任務的語句封裝成一個事務,例如轉賬;
# 基本步驟;
>> start transaction ; --- 開啟事務
>> commit; --- 提交事務;
>> rollback;--- 復原事務(如果失敗);
# 事務的特性;
>> 原子性 --- 不可拆分,要麼多條語句都成功,要麼都不成功;
>> 一致性 --- 必須是資料庫從一個一致性的狀態,全部轉化到另一個一致的狀態;
>> 隔離性 --- 多線程並發訪問時,一個事務不能被其他事務所幹擾;
>> 持久性 --- 當事務完成之後,資料應該被永久性的儲存起來;
# 隔離操作
資料庫系統要負責隔離操作,寫代碼只需要對隔離等級進行設定。如果不進行相應設計,
可能會導致以下問題;
a,髒讀:一個事務讀取到了另一個事務“未提交”的資料。
b,不可重複讀取:在一個事務內讀取表中的某一行資料,多次讀取結果不同。
c,虛讀(幻讀):是指在一個事務內讀取到了別的事務插入的資料,導致前後讀取不一致。
## 資料庫連接池 ##
# 基本概念;
# 自訂串連池;
JDBC大資料的採取