欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

JDBC編程的事務處理

一、事務的基本概念

創(chuàng)新互聯(lián)建站主營湘陰網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,手機APP定制開發(fā),湘陰h5微信小程序開發(fā)搭建,湘陰網(wǎng)站營銷推廣歡迎湘陰等地區(qū)企業(yè)咨詢

    數(shù)據(jù)庫是一個多用戶使用的共享資源。當多個用戶并發(fā)地存取數(shù)據(jù)的時候,在數(shù)據(jù)庫中就會產(chǎn)生多個用戶同時存取同一數(shù)據(jù)的情況。若對并發(fā)操作不加控制,就可能會產(chǎn)生讀取和存儲不正確的數(shù)據(jù),破壞數(shù)據(jù)的一致性。

    而事務是并發(fā)控制的基本單位。所謂事務,即一個操作序列。這些操作要么都執(zhí)行,要么都不執(zhí)行,它是一個不可分割的工作單位。比如銀行轉賬工作:從一個賬戶扣款,并使用另一個賬戶收款,這兩個操作要么都執(zhí)行,要么都不執(zhí)行,因此應該把它們看作是一個事務。

    事務是數(shù)據(jù)庫維護數(shù)據(jù)一致性的單位,在每個事務結束時,都能保持數(shù)據(jù)的一致性。

    對于編程人員來說,可以把數(shù)據(jù)庫事務看作是一組sql語句,這組sql語句是一個邏輯工作單元,它們是不可分割的,它們的執(zhí)行結果應該作為一個整體永久修改一個數(shù)據(jù)庫的內(nèi)容或者作為一個整體取消對數(shù)據(jù)庫的修改。

    

二、事務的四個基本特征

    1.原子性

    原子性是指事務中包含的操作都被看作是一個邏輯單元,這個邏輯單元中的操作要么全部成功,要么全部失敗。這也意味著事務中的所有元素作為一個整體提交或回滾。事務的所有元素是不可分割的,是一個完整的操作。

    2.一致性

    一致性是指事務開始之前和事務結束以后數(shù)據(jù)庫都處于一致性狀態(tài),數(shù)據(jù)庫的完整性約束沒有被破壞。

     3.隔離性

    隔離性是指對數(shù)據(jù)庫進行修改的多個事務是彼此隔離的。這說明事務必須是獨立的,不應該以任何形式影響其他事務

    4.持久性

    持久性是指事務完成之后對于數(shù)據(jù)庫的影響是永久的,該修改真實地修改了數(shù)據(jù)庫,即使數(shù)據(jù)庫出現(xiàn)故障也會一直保留。

三、與SQL相關的事務語句

    開始事務:BEGIN TRANSACTION

    提交事務:COMMIT TRANSATION

    回滾事務:ROLLBACK TRANSATION    

package com.eduask.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/*將要測試的邏輯
  保存一個用戶Tom的基本信息和Tom的地址信息
  分別通過兩個java方法插入到用戶表和地址表中 
  在插入地址表的時候人為造成一個異常
  觀察結果
 */
public class TransactionTest {
	
	//創(chuàng)建一個getConnection()用來獲取數(shù)據(jù)庫的連接
	public static Connection getConnection(){
		Connection conn = null;
		
		try {
			Class.forName("com.MySQL.jdbc.Driver");
			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testdemo","root","root");
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return conn;
	}
	
	public static void insertUserData(Connection conn) throws SQLException{
			String sql = "insert into tbl_user(id,name,password,email) "
					+ "values(10,'Tom','123456','tom@gmail.com')";
			Statement st = conn.createStatement();
			int count = st.executeUpdate(sql);
			System.out.println("向用戶插入了 "+ count + " 條記錄");
	}
	
	public static void insertAddressData(Connection conn) throws SQLException{
			String sql = "insert into tbl_address(id,city,country,user_id) "
					+ "values(1,'ShangHai','China','10')";
			Statement st = conn.createStatement();
			int count = st.executeUpdate(sql);
			System.out.println("向地址表中插入了 "+ count + " 條記錄");
	}
	
	public static void main(String[] args) {
		Connection conn = null;
		try {
			conn = getConnection();
			conn.setAutoCommit(false);
			
			insertUserData(conn);
			insertAddressData(conn);
			
			conn.commit();
		} catch (SQLException e) {
			System.out.println("=========捕獲到SQL異常=========");
			
			e.printStackTrace();
			try {
				conn.rollback();//回滾事務,保證數(shù)據(jù)庫數(shù)據(jù)的一致性
				System.out.println("=========事務回滾成功=========");
			} catch (Exception e2) {
				e2.printStackTrace();
			}
		}finally{
			try {
				if (conn != null) {
					conn.close();
				}
			} catch (Exception e3) {
				e3.printStackTrace();
			}
		}
	}
	
	
}

本文題目:JDBC編程的事務處理
本文來源:http://aaarwkj.com/article32/gghpsc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App設計、營銷型網(wǎng)站建設網(wǎng)站內(nèi)鏈、域名注冊、App開發(fā)、外貿(mào)網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
欧美一区二区日本国产激情| 中文字幕不卡在线观看不卡| 亚洲精品午夜在线观看| 熟女亚洲一区精品久久| 尤物在线观看精品视频| 亚洲理论在线观看电影| 精品一区二区三区女同| 亚洲午夜经典一区二区日韩| 大香蕉欧美日韩在线视频| 精品人妻va人妻中文字幕麻豆 | 国产午夜男人天堂手机| 欧美黄片在线播放视频| 精品少妇熟女av免费久久| 九九热精品视频美谷朱里| 国产精品亚洲在线视频| 久久91亚洲精品中文字幕| 午夜福利中文字幕在线亚洲| 免费草b视频在线观看| 一本色道久久88综合日韩| 久碰精品少妇中文字幕av| 日韩无遮挡免费在线观看| 天天干夜夜操操操操| 日本免费在线不卡一区二区| 免费人成在线观看网站免费观看| 亚洲人妻在线一区二区三区| 国产特级黄色片免费看| 国产亚洲一区二区三区成人| 超薄丝袜美腿一二三区在线播放 | 精品国产一区二区三区精品日韩| 伊人欧美一区二区三区| 久久精品一区二区熟女| 国产伦理在线观看一区二区| 日韩黄色一级片在线观看| 国产日本欧美一区二区三区| 哈昂~不要啊在线观看| av中文字幕乱码在线看| 亚洲av不卡一区二区在线观看 | 日本加勒比系列在线播放| 人妻有码av中文字幕久久| 日韩熟女人妻一区二区| 女人的天堂亚洲的天堂欧美|