第6章 資料庫事務

2021-10-07 04:56:40 字數 1429 閱讀 7225

jdbc程式中為了讓多個 sql 語句作為乙個事務執行:

若此時 connection 沒有被關閉,還可能被重複使用,則需要恢復其自動提交狀態 setautocommit(true)。尤其是在使用資料庫連線池技術時,執行close()方法前,建議恢復自動提交狀態。

【案例:使用者aa向使用者bb轉賬100】

public

void

testjdbctransaction()

catch

(exception e)

catch

(sqlexception e1)

}finally

catch

(sqlexception e)

//7.關閉連線

jdbcutils.

closeresource

(conn, null, null);}

}

其中,對資料庫操作的方法為:

//使用事務以後的通用的增刪改操作(version 2.0)

public

void

update

(connection conn ,string sql, object.

.. args)

// 3.執行sql語句

ps.execute()

;}catch

(exception e)

finally

}

原子性(atomicity)

原子性是指事務是乙個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。

一致性(consistency)

事務必須使資料庫從乙個一致性狀態變換到另外乙個一致性狀態。

隔離性(isolation)

事務的隔離性是指乙個事務的執行不能被其他事務干擾,即乙個事務內部的操作及使用的資料對併發的其他事務是隔離的,併發執行的各個事務之間不能互相干擾。

永續性(durability)

永續性是指乙個事務一旦被提交,它對資料庫中資料的改變就是永久性的,接下來的其他操作和資料庫故障不應該對其有任何影響。

6.3.1 資料庫的併發問題

資料庫事務的隔離性: 資料庫系統必須具有隔離併發執行各個事務的能力, 使它們不會相互影響, 避免各種併發問題。

乙個事務與其他事務隔離的程度稱為隔離級別。資料庫規定了多種事務隔離級別, 不同隔離級別對應不同的干擾程度,隔離級別越高, 資料一致性就越好, 但併發性越弱。

6.3.2 四種隔離級別

6.3.3 在mysql中設定隔離級別

資料庫系統概念 第14章 事務 知識總結

資料庫系統概念 第14章知識點總結 事務 事務是訪問並可能更新各種資料項的乙個程式執行單元。事務通常由高階資料操作語言或程式語言通過jdbc或 odbc 嵌入式資料庫訪問書寫的使用者程式的執行所引起。事務用形如 begin transaction 和end transaction 語句來界定。事務的...

資料庫程式設計第4章

visual c 為建立應用程式提供了工程建立嚮導,在嚮導的指引下,可以建立各種型別的應用程式。執行visual c 平台上的 file new 選單命令,就可以啟動vc 6.0的工程建立嚮導,如圖4 1所示。在圖4 1中可以看到,vc 6.0工程建立嚮導可以建立多種型別的應用程式,我們在本書能用到...

第13章 資料庫支援

13.1 python資料庫api 13.2 sqlite和pysqlite sqlite小型資料庫引擎,可直接使用本地檔案,而不需要集中式資料庫儲存機制。使用模組sqlite3實現的pysqlite。13.2.1 起步 import sqlite3 建立直接到資料庫檔案的連線 conn sqlit...