ITPub博客

首页 > 数据库 > 数据库开发技术 > 数据库事务

数据库事务

数据库开发技术 作者:mcxiaoracle 时间:2022-07-01 08:02:41 0 删除 编辑







import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.UUID;


public class Test {


public static void main(String[] args) {

Connection connection=null;

Statement statement=null;

try {

Class.forName("com.mysql.jdbc.Driver");

connection=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root","root");

connection.setAutoCommit(false); //1,开启事务 /true是自动提交,一个语句一个语句执行,设置为false不自动提交。

statement=connection.createStatement(); //2,打开窗口

statement.addBatch("update account set money=money-100 where card_id= '1234567890';"); //3,创建语句,将语句存到对象中,便于批量执行

statement.addBatch("update account set money=moey+100 where card_id= '0987654321';");

statement.executeBatch(); //4,批量操作执行语句(处理语句)。

connection.commit(); //5,执行完成提交语句。

} catch (Exception e) {

try {

connection.rollback(); //try中代码如果出现异常,上边提交不成功,一定执行回滚语句。不出现异常会提交成功。

} catch (SQLException e1) {

e1.printStackTrace();

}

e.printStackTrace();

}finally {

try {

if(statement!=null) {

statement.close(); 

}

} catch (SQLException e) {

e.printStackTrace();

}

try {

if(connection!=null) {

connection.close();

}

} catch (SQLException e) {

e.printStackTrace();

}

}

}

}

推荐阅读:

https://blog.csdn.net/YXX_decsdn/article/details/90175507?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-90175507-blog-117061684.pc_relevant_multi_platform_whitelistv1&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-90175507-blog-117061684.pc_relevant_multi_platform_whitelistv1&utm_relevant_index=1

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69949806/viewspace-2903759/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
数据方向,了解oracle ,IBM DB2 730

注册时间:2019-09-30

  • 博文量
    286
  • 访问量
    226577