JDBC:交易處理

來源:互聯網
上載者:User

標籤:col   nsis   getc   rman   close   完整性   com   mic   一個   

事務

  資料庫事務是指由一個或者多個SQL語句組成的工作單元,這個工作單元中的SQL語句是相互依賴的,簡單點說,即一個SQL語句如果出現了一個錯誤,那麼這一整個工作單元都將會被撤銷掉。

 

事務的四大特性:

  Atomic(原子性):事務中包含的操作被看作一個邏輯單元,這個邏輯單元中的操作要麼全部成功,要麼全部失敗。

  Consistency(一致性):只有合法的資料可以被寫入資料庫,否則事務應該將其復原到最初狀態。

  Isolation(隔離性):事務允許多個使用者對同一個資料的並發訪問,而不破壞資料的正確性和完整性。

  Durability(持久性):事務結束後,交易處理的結果必須能夠得到固化。

 

事務邊界

  事務的開始邊界(BEGIN)。

  事務的正常結束邊界(COMMIT):提交事務。

  事務的異常結束邊界(ROLLBACK):復原撤銷事務。

   

 

  在使用JDBC操作資料庫之前,JDBC首先會從擷取一個Connection資料庫連接對象,預設情況下Connection對象是會自動對事務進行提交的。

  擷取Connection資料庫連接對象以及關閉事務自動認可

  

 1 public class BaseDao(){ 2     //靜態載入資料庫驅動包(這裡是Oracle資料庫) 3     static{ 4         try { 5             Class.forName("oracle.jdbc.driver.OracleDriver"); 6         } catch (ClassNotFoundException e) { 7             e.printStackTrace(); 8         } 9     }10 11     //擷取資料庫連結化物件12     public static Connection getConnection(){13         String url="jdbc:oracle:thin:@localhost:1521:orcl";14         try {15             return     DriverManager.getConnection(url,"scott","tiger");16         } catch (SQLException e) {17             e.printStackTrace();18         }19         return null;20     }21 22 }
JDBC擷取資料庫連接對象
 1 //使用Jdbc執行持久化(Dept) 2     public static void main(String[] args) { 3         Connection conn=getConnection(); 4         Statement st=null; 5         try { 6             conn.setAutoCommit(false);//設定不自動認可 7             st=conn.createStatement(); 8             String sql="insert into dept values(40,‘後勤‘,‘XXX‘)"; 9             st.executeUpdate(sql);10             conn.commit();//提交事務11             //conn.rollback();//復原事務12             conn.close();13         } catch (SQLException e) {14             e.printStackTrace();15         }16     }
持久化操作及關閉事務自動認可

 

  根據上面的兩段代碼,應該不難知曉。關閉自動認可只需要 conn.setAutoCommit(false) 即可,其次如果事務正常,則事務提交 conn.commit() 如果失敗,則需要conn.rollback()

以上便是JDBC的交易處理。

JDBC:交易處理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.