内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

使用Java怎么處理mysql事務(wù)

本篇文章給大家分享的是有關(guān)使用Java怎么處理MySQL事務(wù),小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

成都創(chuàng)新互聯(lián)始終堅(jiān)持【策劃先行,效果至上】的經(jīng)營理念,通過多達(dá)10年累計(jì)超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的全網(wǎng)營銷解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶,其中包括:成都樓梯護(hù)欄等企業(yè),備受客戶贊揚(yáng)。

1、事務(wù)是一組要么同時(shí)執(zhí)行成功,要么同時(shí)執(zhí)行失敗的sql語句。是數(shù)據(jù)庫操作的一個(gè)執(zhí)行單元。

2、事物的四大特點(diǎn):

(1)atomicity(原子性)表示一個(gè)事務(wù)內(nèi)的所有操作是一個(gè)整體,要么全部成功,要么全部失敗。

(2)consistency(一致性)表示一個(gè)事物內(nèi)有一個(gè)操作失敗時(shí),所有更改過的數(shù)據(jù)都必須回滾到修改前的狀態(tài)。

(3)isolation(隔離性)事務(wù)查看數(shù)據(jù)時(shí)數(shù)據(jù)所處的狀態(tài),要么是另一并發(fā)事務(wù)修改它之前的狀態(tài),要么是另一事務(wù)修改它之后的狀態(tài),事務(wù)不會(huì)查看中間狀態(tài)的數(shù)據(jù)。

(4)durability(持久性)持久性事務(wù)完成之后,他對(duì)于系統(tǒng)的影響是永久性的。

3、實(shí)例(以sql語句中的insert語句為例)

package com.test.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
 * 事務(wù)的基本用法
 *
 */
public class Test {
  public static void main(String[] args) {
    Connection conn = null;
    PreparedStatement ps1 = null;
    PreparedStatement ps2 = null;
    try {
      //加載驅(qū)動(dòng)類
      Class.forName("com.mysql.jdbc.Driver");
      conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testjdbc","root","123456");
      conn.setAutoCommit(false); //JDBC中默認(rèn)是true,自動(dòng)提交事務(wù)
      ps1 = conn.prepareStatement("insert into t_user (username,pwd) values (?,?)");//?是占位符
      ps1.setObject(1, "張三");
      ps1.setObject(2, "666666");
      ps1.execute();
      System.out.println("插入一個(gè)用戶張三");
      try {
        Thread.sleep(3000);
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
      ps2 = conn.prepareStatement("insert into t_user (username,pwd) values (?,?)");
      ps2.setObject(1, "李四");
      ps2.setObject(2, "123456");
      ps2.execute();
      System.out.println("插入一個(gè)用戶李四");
      conn.commit();//提交事務(wù)
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
      try {
        conn.rollback();//某一條數(shù)據(jù)添加失敗時(shí),回滾
      } catch (SQLException e1) {
        e1.printStackTrace();
      }
    } catch (SQLException e) {
      e.printStackTrace();
    }finally{
      try {
        if(ps1!=null){
          ps1.close();
        }
      } catch (SQLException e) {
        e.printStackTrace();
      }
      try {
        if(conn!=null){
          conn.close();
        }
      } catch (SQLException e) {
        e.printStackTrace();
      }
    }
  }
}

這段代碼是正確的結(jié)果。運(yùn)行結(jié)果:

插入一個(gè)用戶張三
(等待三秒后)
插入一個(gè)用戶李四

查看數(shù)據(jù)庫,插入了兩條數(shù)據(jù)。

接下來把數(shù)據(jù)庫中剛剛插入的兩條數(shù)據(jù)刪掉,然后把第二條sql語句改一下,讓他出錯(cuò),在第二條sql語句中去掉一個(gè)占位符:

ps2 = conn.prepareStatement("insert into t_user (username,pwd) values (?)");

運(yùn)行結(jié)果:

插入一個(gè)用戶張三
(等待三秒后)
拋出錯(cuò)誤了。。。。。。。。

以上就是使用Java怎么處理mysql事務(wù),小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站欄目:使用Java怎么處理mysql事務(wù)
轉(zhuǎn)載注明:http://m.rwnh.cn/article22/gdisjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)網(wǎng)站內(nèi)鏈、用戶體驗(yàn)、微信公眾號(hào)、外貿(mào)網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)

廣告

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

小程序開發(fā)
临泽县| 女性| 汉寿县| 高唐县| 和硕县| 铜川市| 霍林郭勒市| 漳平市| 平安县| 陕西省| 武乡县| 黄石市| 五家渠市| 行唐县| 香河县| 饶阳县| 清水县| 孟州市| 崇仁县| 和静县| 南阳市| 宁波市| 三门县| 石台县| 兴业县| 济阳县| 东源县| 太谷县| 永州市| 玛纳斯县| 兴安盟| 龙山县| 科技| 浦城县| 成武县| 沂南县| 略阳县| 定远县| 南阳市| 绥化市| 太谷县|