JDBC事务复习 我不是女神ヾ 2021-07-24 16:47 432阅读 0赞 **目录** 点睛 事务编程一般步骤 需求 Junit单元测试 数据库 代码 -------------------- # 点睛 # 要么都成功,要么都失败。 ACID原则:保证数据的安全。 # 事务编程一般步骤 # 1 开启事务 2 事务提交 commit 3 事务回滚 rollback 4 关闭事务 # 需求 # 实现一个转账需求 A:1000 B:1000 实现A向B转账100元。 # Junit单元测试 # <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> # 数据库 # CREATE TABLE `account` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `money` float DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; insert into account(id,name,money) values(1,'A',1000); insert into account(id,name,money) values(2,'B',1000); # 代码 # package com.cakin; import org.junit.Test; import java.sql.*; /** * @ClassName: JdbcTest3 * @Description: jdbc事务:实现转账 * @Date: 2020/6/19 * @Author: cakin */ public class JdbcTest3 { @Test public void test() { // useUnicode=true&characterEncoding=utf8 解决中文乱码 String url = "jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf8"; String username = "root"; String password = "123456"; Connection connection = null; try { // 1 加载驱动 Class.forName("com.mysql.jdbc.Driver"); // 2 获得连接对象 connection = DriverManager.getConnection(url, username, password); // 3 开启事务 connection.setAutoCommit(false); // 4 编写SQL String sql1 = "update account set money = money-100 where name = 'A'"; connection.prepareStatement(sql1).executeUpdate(); // 制造错误 // int i = 1 / 0; String sql2 = "update account set money = money+100 where name = 'B'"; connection.prepareStatement(sql2).executeUpdate(); connection.commit(); } catch (Exception e) { try { connection.rollback(); } catch (SQLException throwables) { throwables.printStackTrace(); } e.printStackTrace(); } finally { // 6 关闭资源 try { connection.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } } }
相关 JDBC复习 1.什么是JDBC -------------------- > 概念: > > Java数据库连接,(Java Database Connectivity,简 妖狐艹你老母/ 2024年04月01日 12:21/ 0 赞/ 81 阅读
相关 JDBC复习 JDBC复习 什么是JDBC: java datebase connection 即java连接数据库 创建数据库表 CREATE TABLE use 桃扇骨/ 2023年10月03日 14:40/ 0 赞/ 8 阅读
相关 JDBC 事务 事务 package jdbc; import java.sql.; public class TxTest { 一时失言乱红尘/ 2023年08月17日 17:17/ 0 赞/ 56 阅读
相关 事务复习- 一、事物的四个特性 1、原子性:事务所包含的操作要么全部成功,要么全部失败之后回滚不会对数据库产生影响 2、一致性:a向b银行转账,一定是a扣了n元钱,b加了n元钱,不 傷城~/ 2022年10月10日 09:57/ 0 赞/ 117 阅读
相关 JDBC事务 Connection void setAutoCommit(boolean autoCommit); 设置事务是否自动提交 如果设置为false,表示手动提交事 比眉伴天荒/ 2022年06月08日 01:21/ 0 赞/ 214 阅读
相关 JDBC复习之JDBC概述 今日目录 1、JDBC简介 2、JDBC原理 一、JDBC简介 JDBC(Java Data Bas 梦里梦外;/ 2022年05月25日 07:12/ 0 赞/ 263 阅读
相关 jdbc—事务 1.事务的基本概念(查询是没有事务的) - 一组要么同时执行成功,要么同时执行失败的SQL语句。是数据库操作的一个执行单元。 - 事务开始于: - 连接到 雨点打透心脏的1/2处/ 2021年12月22日 22:03/ 0 赞/ 289 阅读
相关 JDBC复习 目录 什么是JDBC 图解 需要的jar包 新建一个数据库 导入数据库依赖 JDBC固定步骤 实战1 实战2 -------------------- 什 青旅半醒/ 2021年07月25日 01:29/ 0 赞/ 393 阅读
相关 JDBC事务复习 目录 点睛 事务编程一般步骤 需求 Junit单元测试 数据库 代码 -------------------- 点睛 要么都成功,要么都失败。 ACID 我不是女神ヾ/ 2021年07月24日 16:47/ 0 赞/ 433 阅读
还没有评论,来说两句吧...