首页 > 其他分享 >10.JDBC事务

10.JDBC事务

时间:2024-05-08 12:11:08浏览次数:23  
标签:10 事务 JDBC String money try connection 100

要么都成功,要么都失败!
ACID原则:保证数据的安全。

开启事务
事务提交
事务回滚
关闭事务

转账:
A:1000
B:1000

A(900)--100-->B(1100)
public class TestJDBC2 {
    @Test
    public void test() {

        // 配置信息
        String url = "jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
        String username = "root";
        String password = "123456";

        Connection connection = null;
        // 1.加载驱动
        try {
            Class.forName("com.mysql.jdbc.Driver");
            // 2.连接数据库 代表数据库
            connection = DriverManager.getConnection(url, username, password);
            // 3.通知数据库开启事务
            connection.setAutoCommit(false); //false是开启
            String sql = "update account set money = money-100 where name = 'A'";
            connection.prepareStatement(sql).executeUpdate();

            //制造错误
            int i = 1/0;
            String sql2 = "update account set money = money+100 where name = 'B'";
            connection.prepareStatement(sql2).executeUpdate();

            connection.commit();
            System.out.println("提交成功");
        }catch (Exception e){
            try {
                //如果出现异常 就通知数据库回滚事务
                if (connection != null) {
                    connection.rollback();
                }
            }catch (SQLException e1){
                e1.printStackTrace();
            }
            e.printStackTrace();
        }finally {
            try {
                connection.close();
            }catch (SQLException e){
                e.printStackTrace();
            }
        }
    }
}

标签:10,事务,JDBC,String,money,try,connection,100
From: https://www.cnblogs.com/hashifei/p/18179399

相关文章

  • 9.JDBC
    什么是JDBC:java连接数据库!添加jar包<dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version>......
  • Computer Basics - Top 10 keyboard shortcuts everyone should know
    REFhttps://www.computerhope.com/tips/tip79.htmTop10keyboardshortcuts(快捷键)everyoneshouldknowUsingkeyboardshortcutscangreatlyincreaseyourproductivity,reducerepetitivestrain,andhelpkeepyoufocused.Forexample,tocopytext,youcanhi......
  • 如何通过前端表格控件在10分钟内完成一张分组报表?
    前言:当今时代,报表作为信息化系统的重要组成部分,在日常的使用中发挥着关键作用。借助报表工具使得数据录入、分析和传递的过程被数字化和智能化,大大提高了数据的准确性及利用的高效性。而在此过程中,信息化系统能够实现对数据的实时监控和更新,为管理者提供及时、准确的业务数据,帮助......
  • 末路狂花钱迅雷BT完整下载[1.12GB/2.35GB/Mp4]4K高清[1080P已更新]
    《末路狂花钱》是一部由导演马丁·斯科塞斯执导,1987年上映的经典电影。该片以真实的故事为基础,讲述了华尔街投资银行的故事,深入揭示了贪婪、欲望和腐败在当时华尔街的蔓延。本文将从电影的拍摄背景、故事情节以及对当时时代的反映与现实意义等方面进行分析。 首先,......
  • 原始翎风CLIENT8位 (10) tscenc的学习
    IntroScn.pas嗟夫DELPHI输入法相关知识凡是窗口类都有TImeMode这是个集合其中包含有:TImeMode=(imDisable,imClose,imOpen,imDontCare,imSAlpha,imAlpha,imHira,imSKata,imKata,imChinese,imSHanguel,imHanguel);指定imDisable的话IME变得无效。既无法作使......
  • 多语言 JDBC SQL 发送
    多语言JDBCSQL发送记录各个语言使用JDBC发送SQL的代码片段。Pythonimportjaydebeapi#pipinstalljaydebeapi#JDBC驱动类名driver='com.mysql.jdbc.Driver'#数据库连接URLurl='jdbc:mysql://hostname:port/databasename?characterEncoding=UTF-8&serverT......
  • 易福门DTE104模块配置
    2.4易福门DTE104模块配置DTE104模块默认IP:192.168.0.79,模块网线插在自己笔记本上修改IP:192.168.0.X,网页上直接搜索192.168.0.79进入网页配置页1.升级固件版本DTE104固件链接2.若要改IP,则需厂商给出调试IP,不是PLCIP!3.IO端口配置4.监控器查看,若UID有值则代表配置OK......
  • win10禁用Windows快捷键的方法
    1、打开注册表编辑器 2、在注册表编辑器中定位到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion 3、在advanced中新建字符串值,命名为DisabledHotkeys,然后对数值数据设置。 (1)如果想禁用一个快捷键,比如win+a(打开操作中心),就输入a(2)如果想一次禁用多个快捷......
  • Mysql-事务的基本特性和隔离级别
    0.背景在数据库中,事务是一组数据库操作,可以将事务操作视为一个基本的工作单元。1.事务的基本特性事务的基本特性“ACID”对于事务呢,就是这一组sql操作,要确保ACID这4个基本特性。哎,八股文不好背,我记忆方式是:一元吃个(原持隔)原子性(Atomicity):事务中的所有操作要么全部执行成功,......
  • 1. 实战7.4HDU1710-由先序和中序序列产生后序序列
    希冀平台:代码:#include<iostream>#include<vector>#include<algorithm>#include<math.h>#include<sstream>#include<string>#include<string.h>#include<iomanip>#include<stdlib.h>#include<map>#includ......