当前位置: 首页 > news >正文

做瞹瞹嗳网站招聘网站做专题的目的

做瞹瞹嗳网站,招聘网站做专题的目的,比较有特色的网站,上海公司注册流程及费用标准目录 一、准备工作 二、在MySQL中操作事务(重点) 第一种方式:使用命令的方式 第二种方式:设置MySQL事务不默认提交的方式 结 三、在JDBC中操作事务(掌握) 第一种方式:使用命令的方式 第…

目录

一、准备工作

二、在MySQL中操作事务(重点)

第一种方式:使用命令的方式

第二种方式:设置MySQL事务不默认提交的方式

三、在JDBC中操作事务(掌握)

第一种方式:使用命令的方式

第二种方式:设置MySQL事务不默认提交的方式


在这篇Mybatis---事务_mybits事务-CSDN博客 中有事务相关理论知识,在此实操演示一遍事务操作。

仍旧是以经典例子转账做演示:

一、准备工作

【win】+【R】 输入cmd;

 进到终端后输入【mysql -u root -p】然后输入密码;后续操作在这里展开演示。

输入【user】+【想要切换的数据库】 

 

输入【show tables】查看所有表

 

可以看见我这个数据库中有这么多表。

二、在MySQL中操作事务(重点)

 完成上述的准备工作后,  接下来就可以正常操作sql语句了:
e.g 先展示一下我们要演示操作的表吧!

我们将利用这个表模拟一个转账操作,其中张三给李四转1000元。下面是两种使用事务的方法的具体操作流程: 

第一种方式:使用命令的方式

开启事务

START TRANSACTION;

执行转账操作

  • 从张三账户扣除1000元

    UPDATE account SET money = money - 1000 WHERE name = '张三';
  • 给李四账户增加1000元

    UPDATE account SET money = money + 1000 WHERE name = '李四';

提交事务

  • 如果转账操作成功,提交事务

    COMMIT;
  • 如果转账操作失败,回滚事务

    ROLLBACK;
第二种方式:设置MySQL事务不默认提交的方式

查看当前事务是否默认提交

SHOW VARIABLES LIKE 'autocommit';

设置MySQL的数据库的事务不默认提交

SET autocommit = 0;

执行转账操作

  • 从张三账户扣除1000元

    UPDATE account SET money = money - 1000 WHERE name = '张三';
  • 给李四账户增加1000元

    UPDATE account SET money = money + 1000 WHERE name = '李四';

手动提交或回滚事务

  • 如果转账操作成功,提交事务

    COMMIT;
  • 如果转账操作失败,回滚事务

    ROLLBACK;

恢复默认提交设置(可选)

SET autocommit = 1;

上面两种情况下,一旦有操作不成功的情况,就可以输入ROLLBACK;回滚到转帐前。

三、在JDBC中操作事务(掌握)

第一种方式:使用命令的方式
import java.sql.*;public class TransactionExample {public static void main(String[] args) {String url = "jdbc:mysql://localhost:3306/yourdatabase";String user = "yourusername";String password = "yourpassword";try (Connection conn = DriverManager.getConnection(url, user, password)) {// 开启事务conn.setAutoCommit(false);try {// 从张三账户扣除1000元String sql1 = "UPDATE account SET money = money - 1000 WHERE name = '张三'";try (Statement stmt = conn.createStatement()) {stmt.executeUpdate(sql1);}// 给李四账户增加1000元String sql2 = "UPDATE account SET money = money + 1000 WHERE name = '李四'";try (Statement stmt = conn.createStatement()) {stmt.executeUpdate(sql2);}// 提交事务conn.commit();System.out.println("转账成功!");} catch (SQLException e) {// 回滚事务conn.rollback();System.out.println("转账失败,已回滚!");e.printStackTrace();} finally {// 关闭连接conn.close();}} catch (SQLException e) {e.printStackTrace();}}
}
第二种方式:设置MySQL事务不默认提交的方式
import java.sql.*;public class TransactionExample {public static void main(String[] args) {String url = "jdbc:mysql://localhost:3306/yourdatabase";String user = "yourusername";String password = "yourpassword";try (Connection conn = DriverManager.getConnection(url, user, password)) {// 设置不默认提交conn.setAutoCommit(false);try {// 从张三账户扣除1000元String sql1 = "UPDATE account SET money = money - 1000 WHERE name = '张三'";try (Statement stmt = conn.createStatement()) {stmt.executeUpdate(sql1);}// 给李四账户增加1000元String sql2 = "UPDATE account SET money = money + 1000 WHERE name = '李四'";try (Statement stmt = conn.createStatement()) {stmt.executeUpdate(sql2);}// 提交事务conn.commit();System.out.println("转账成功!");} catch (SQLException e) {// 回滚事务conn.rollback();System.out.println("转账失败,已回滚!");e.printStackTrace();} finally {// 恢复默认提交设置conn.setAutoCommit(true);// 关闭连接conn.close();}} catch (SQLException e) {e.printStackTrace();}}
}

【注:yourdatabaseyourusernameyourpassword对应实际数据库名称、用户名和密码,必要时请更改成自己对应的。】

http://www.yayakq.cn/news/617420/

相关文章:

  • 网站建设dw站点建设wordpress的rest api
  • 六安今天新闻最新消息百度网站优化方案
  • 网站重构工程师重庆沙坪坝
  • 有什么做节能报告的网站益阳建设厅网站
  • 网站建设有哪些工作室js建设网站
  • 成都网站建设四川推来客网络做网站公司赚不赚钱
  • 网站建设seo 视频为企业提供网站建设服务
  • 青岛网站排名哪家公司好上海服装外贸公司
  • 企业宣传片脚本人员优化方案
  • 做网站网络合同徐州人才网官网登录
  • 优良的网站邮箱服务器提供商isp网站源码网站
  • 网站建设交付物清单WordPress多页面菜单
  • 昆汀的室内设计案例沙洋县seo优化排名价格
  • 网站空间和云服务器视频推广是什么意思
  • 阜阳市建设工程网站帮人做图挣外快的网站
  • 简单房地产网站龙岩网站设计较好的公司
  • 哪家公司做的网站好北京电力交易中心主任
  • 旅游门户网站建设意义东莞短视频推广多少钱
  • 做网站申请域名大概花费多少成都网络优化托管公司
  • 成都网站建设seo优化网店初学者适合卖什么
  • 有哪些做产品产业链分析的网站云主机怎么安装网站
  • 网站绿标怎么做重庆seo网站设计
  • 伊犁州建设局网站网站蓝色
  • 网站建站价格标准安卓手机如何做网站
  • 工作室主题网站赤峰市做网站公司
  • 济南市商务局官方网站建设银行官方网站入口
  • 学校 网站建设工作小组中关村手机在线频道
  • php网站开发源代码网站logo名词解释
  • 企业大型网站建设要多少钱企业融资难的原因及对策
  • 后台的企业网站模板网站建设和维护价格