日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

04-JDBC学习手册:JDBC中使用transaction(事务)编程和Javabean定义

發(fā)布時間:2025/3/20 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 04-JDBC学习手册:JDBC中使用transaction(事务)编程和Javabean定义 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

JDBC中使用 Transaction(事務)編程

1 事務的四大特性

事務是具備以下特征(ACID) 的工作單元:

(1) 原子性

  • 事務的原子性指的是,事務中包含的程序作為數(shù)據(jù)庫的邏輯工作單位,它所做的對數(shù)據(jù)修改操作要么全部執(zhí)行,要么完全不執(zhí)行。
  • 原子操作,也就是不可分割的操作,必須 一起成功一起失敗。

(2) 一致性

  • 事務的一致性指的是在一個事務執(zhí)行之前和執(zhí)行之后數(shù)據(jù)庫都必須處于一致性狀態(tài)。這種特性稱為事務的一致性。假如數(shù)據(jù)庫的狀態(tài)滿足所有的完整性約束,就說該數(shù)據(jù)庫是一致的。

(3) 分離性

  • 分離性指并發(fā)的事務是相互隔離的。即一個事務內(nèi)部的操作及正在操作的數(shù)據(jù)必須封鎖起來,不被其它企圖進行修改的事務看到。

(4) 持久性

  • 持久性意味著當系統(tǒng)或介質發(fā)生故障時,確保已提交事務的更新不能丟失。即一旦一個事務提交,DBMS 保證它對數(shù)據(jù)庫中數(shù)據(jù)的改變應該是永久性的,耐得住任何系統(tǒng)故障。持久性通過數(shù)據(jù)庫備份和恢復來保證。

2 事務處理三步曲

① connection.setAutoCommit(false); // 把自動提交關閉 ② 正常的DB操作 // 若有一條 SQL 語句失敗了,自動回滾 ③ connection.commit() // 主動提交 或 connection.rollback() //主動回滾 完整的代碼片段: try{con.setAutoCommit(false); //step ① 把自動提交關閉Statement stm = con.createStatement();stm.executeUpdate("insert into person(id, name, age) values(520, 'X-Man', 18)");stm.executeUpdate("insert into Person(id, name, age) values(521, 'Super', 19)");//step ② 正常的 DB 操作con.commit(); //step ③ 成功主動提交 } catch(SQLException e){try{con.rollback();} catch(Exception e){ e.printStackTrace(); } //step ③ 失敗則主動回滾 }

3 JDBC 事務及事務隔離級別

JDBC 事務并發(fā)產(chǎn)生的問題:

臟讀(Dirty Reads ) 一個事務讀取了另一個并行事務還未提交的數(shù)據(jù)。
不可重復讀( UnRepeatable Read ) 一個事務再次讀取之前的數(shù)據(jù)時,得到的數(shù)據(jù)不一致,被另一個已提交的事務修改。
幻讀(Phantom Read ) 一個事務重新執(zhí)行一個查詢,返回的記錄中包含了因為其它最近提交的事務而產(chǎn)生的新記錄。


為了避免以上三種情況的出現(xiàn),則采用

事務隔離級別:

以 上 的 五 個 事 務 隔 離 級 別 都 是 在 Connection 類 中 定 義 的 靜 態(tài) 常 量 , 使 用setTransactionIsolation(int level) 方法可以設置事務隔離級別。

比如:con.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);


二、JavaBean 的定義

1 是一個普通的 Java 類 2 在結構上沒有預先的規(guī)定,不需要容器,不需要繼承類或實現(xiàn)接口 3 要求必須放在包中,要求實現(xiàn) Serializable 接口 4 要求有一個無參的構造方法. 5 屬性的類型必須保持唯一,get 方法返回值必須和 set 方法參數(shù)類型一致 6 對每個屬性要有對應的 get 和 set 方法。注:隱藏屬性可以沒有 7 可以有外觀作為顯示控制,事件機制。

總結

以上是生活随笔為你收集整理的04-JDBC学习手册:JDBC中使用transaction(事务)编程和Javabean定义的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。