Java中MySQL事務處理舉例

實例(以sql語句中的insert語句為例)

?

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;/*** 事務的基本用法**/
public class Test 
{public static void main(String[] args) {Connection conn = null;PreparedStatement ps1 = null;PreparedStatement ps2 = null;try{//加載驅動類Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testjdbc","root","123456");conn.setAutoCommit(false); //JDBC中默認是true,我們改成false,然后在后面手動提交
            ps1 = conn.prepareStatement("insert into t_user (username,pwd) values (?,?)");//?是占位符ps1.setObject(1, "張三");ps1.setObject(2, "666666");ps1.execute();System.out.println("插入一個用戶張三");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("插入一個用戶李四");conn.commit();//提交事務
         }catch (ClassNotFoundException e){e.printStackTrace();try {conn.rollback();//某一條數據添加失敗時,回滾
            } 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();}}}
}

?

轉載于:https://www.cnblogs.com/sungong1987/p/6559315.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255113.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255113.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255113.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

永磁交流伺服電機的工作原理與更換新編碼器后的常規零位校正方法

http://wuhuotun.blog.163.com/blog/static/73085450200910655748516/ 永磁交流伺服電機的編碼器相位為何要與轉子磁極相位對齊 其唯一目的就是要達成矢量控制的目標,使d軸勵磁分量和q軸出力分量解耦,令永磁交流伺服電機定子繞組產生的電磁場始終正交于…

理解Java中字符流與字節流的區別

1. 什么是流 Java中的流是對字節序列的抽象,我們可以想象有一個水管,只不過現在流動在水管中的不再是水,而是字節序列。和水流一樣,Java中的流也具有一個“流動的方向”,通常可以從中讀入一個字節序列的對象被稱為輸入…

HALCON示例程序inspect_solar_fingers.hdev太陽能電池板電路缺陷檢測

HALCON示例程序inspect_solar_fingers.hdev太陽能電池板電路缺陷檢測 示例程序源碼(加注釋) 關于顯示類函數解釋 dev_update_off () dev_close_window () ImageName : ‘solar_cell/solar_cell_’ read_image (Image, ImageName ‘01’) dev_open_win…

C++多線程 例子

C多線程 例子2008-08-21 15:11//這是2個線程模擬賣火車票的小程序#include <windows.h>#include <iostream.h>DWORD WINAPI Fun1Proc(LPVOID lpParameter);//thread dataDWORD WINAPI Fun2Proc(LPVOID lpParameter);//thread dataintindex0;inttickets10;HANDLE hM…

2018/03/25

2019獨角獸企業重金招聘Python工程師標準>>> March 25 2018 Sunday Weather&#xff1a;cloudy 1、需求&#xff1a; a0.5 b3 ca*b 求c的值&#xff1a; [rootDasoncheng sbin]# cat a.sh #!/bin/bash a0.5 b3 cecho $a*$b |bc echo $canswer referred&#xff1a;…

統計字符串中每種字符類型的個數demo

/** 統計字符串中每中字符類型的個數&#xff0c;思路&#xff1a;* 1、鍵盤錄入一個字符串* 2、獲取到每個字符&#xff0c;遍歷字符串* for (int i 0; i < s.length(); i) {char ch s.charAt(i);* 3、判斷每個字符屬于哪種類型&#xff0c;對應的個數*/package cn.strin…

css3 圖片放大縮小閃爍效果

直接把圖片替換就可以了&#xff0c;我的圖片是透明的&#xff0c;所以body設置為黑色的&#xff0c;不不要可以去掉 <!doctype html><html lang"en"><head> <meta charset"UTF-8"> <title>css3 圖片放大縮小閃爍效果</t…

HALCON示例程序max_connection.hdev確定分割區域的最大區域數目

HALCON示例程序max_connection.hdev確定分割區域的最大區域數目 示例程序源碼&#xff08;加注釋&#xff09; read_image (Image, ‘monkey’) get_system (‘max_connection’, Information) set_system (‘max_connection’, 0) threshold (Image, Region, 128, 255) 區域…

elasticsearch分詞聚合查詢demo

2019獨角獸企業重金招聘Python工程師標準>>> 我們在通過elasticsearch查詢text類型的字段時&#xff0c;我們使用aggs進行聚合某個text類型field。這時elasticsearch會自動進行分詞將分詞后的結果進行聚合。獲取每一個分詞出現在文檔的文檔個數。注意&#xff1a;是…

軟件工程進度條-第十五周

第十五周 所花時間&#xff08;包括上課&#xff09; 23 代碼量&#xff08;行&#xff09; 1200 博客量&#xff08;篇&#xff09; 6 了解到的知識點 1、了解ListView的基本用法&#xff0c;并改變焦點觸碰事件&#xff1b; 2、理解團隊開發后進行軟件項目總結的益處…

Spring實戰第七章

一、SpringMVC配置代替方案 1自定DispatcherServlet 按照AbstractAnnotationConfigDispatcherServletInitializer的定義&#xff0c;它會創建DispatcherServlet和ContextLoaderListener。 AbstractAnnotationConfigDispatcherServletInitializer有三個方法是必須要重載的abstra…

EPSON TCP/IP 通信

EPSON SCARA機器人TCP/IP 通信時&#xff0c;涉及到的相關指令說明。 14.3 TCP/IP命令。 OpenNet //打開TCP/IP端口。 ChkNet //返回端口狀態&#xff1a;等待讀取的字節數或錯誤條件。 CloseNet //關閉TCP/IP端口。 SetNet //運行時或從命令窗口中設置通信端…

JDBC(九)DatabaseMetaData 數據庫元數據

通過java.sql.DatabaseMetaData 接口&#xff0c;我們能獲取到數據庫的列表、列等信息。 DatabaseMetaData 接口包含了許多方法&#xff0c;這里值介紹常用的。 ###獲取 DatabaseMetaData 實例對象 DatabaseMetaData databaseMetaData connection.getMetaData(); 復制代碼###獲…

C++多線程(一)

C多線程&#xff08;一&#xff09; WIN 多線程API一 簡單實例比較簡單的代碼&#xff0c;創建10個線程&#xff0c;其中使第4個線程在一創建就掛起&#xff0c;等到其他的線程執行的差不多的時候再使第4個線程恢復執行。#include <stdio.h>#include <stdlib.h>#i…

HALCON示例程序measure_ball_bond.hdev電路板焊點位置測量

HALCON示例程序measure_ball_bond.hdev電路板焊點位置測量 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 dev_update_off () dev_close_window () FileName : ‘bonds/ball_bond_ccd_’ read_image (Image, FileName 1$‘02’) dev_open_window_fit_imag…

rank()over 函數的使用

1. over()是分析函數&#xff0c;可以和rank()函數配合使用&#xff0c;也可以和其他函數配合使用。取每個學科排名前三的分數&#xff0c;sql語句如下&#xff1a; select * from (select rank() over(partition by subject order by mark desc) rk,S.* from S) T where T.rk&…

天梯賽2016-L2

L2-001. 緊急救援 作為一個城市的應急救援隊伍的負責人&#xff0c;你有一張特殊的全國地圖。在地圖上顯示有多個分散的城市和一些連接城市的快速道路。每個城市的救援隊數量和每一條連接兩個城市的快速道路長度都標在地圖上。當其他城市有緊急求助電話給你的時候&#xff0c;你…

伺服系統控制網絡的重要性! 現場總線的重要性! SSCNET運動控制系統與發展趨勢

引言&#xff1a;在2010年的時候&#xff0c;在北京的一個數控公司工作。產品采用的是通過運動控制卡發脈沖的方式&#xff0c;控制機床的X、Y、Z軸進行加工。 機床在加工產品的時候&#xff0c;一直存在著精度的問題&#xff0c;例如DMG的機床可以達到0.01的加工精度&#x…

apache配置

wamp環境安裝需要VC運行庫的支持 apache如果需要外網訪問&#xff0c;在其配置文件中尋找127.0.0.1然后替換為all 外網訪問需要關閉防火墻&#xff1f;轉載于:https://www.cnblogs.com/gremlin/p/5581486.html

TCP/IP 通信示例

TCP/IP 通信示例 Global String ReadData_P_All$, ReadData_P$(10), data$ Global Preserve Double x Global Integer foundnumber_PFunction TCPServerSetNet #201, "192.168.0.1", 4000, CRLF, NONE, 0OpenNet #201 As ClientWaitNet #201Print "TCP Connect…