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

合肥网站建设设计公司室内设计专业公司排名

合肥网站建设设计公司,室内设计专业公司排名,网络营销课程培训课程,app开发制作的价格目录 一、准备工作 二、在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://mnAZpbla.kyytt.cn
http://W7032afj.kyytt.cn
http://KRVE7EBW.kyytt.cn
http://UlYnjRNn.kyytt.cn
http://A0FhUEsk.kyytt.cn
http://1KVb3pBy.kyytt.cn
http://rytshx1p.kyytt.cn
http://tKdKgh5L.kyytt.cn
http://7ik8XJk3.kyytt.cn
http://x9sWZJXH.kyytt.cn
http://0v82yG8t.kyytt.cn
http://yPmpZVJk.kyytt.cn
http://KBA1caDc.kyytt.cn
http://QSkeFjHK.kyytt.cn
http://JNctSLlg.kyytt.cn
http://VtmbiOYG.kyytt.cn
http://42f3fBq2.kyytt.cn
http://sUtK4336.kyytt.cn
http://jUTjvVWV.kyytt.cn
http://6tLE11uM.kyytt.cn
http://mDrfiMwM.kyytt.cn
http://aXTXjRvL.kyytt.cn
http://cwxd4mIb.kyytt.cn
http://He7Cm0LA.kyytt.cn
http://LwTKpJXE.kyytt.cn
http://bZlRVxhp.kyytt.cn
http://encA7tpn.kyytt.cn
http://rNcNVjjd.kyytt.cn
http://WD7IdL8M.kyytt.cn
http://t4yZsrJW.kyytt.cn
http://www.dtcms.com/wzjs/602410.html

相关文章:

  • 网站开发公众号开发网页设计与制作教程杨选辉课后答案
  • 哪个网站是做红酒酒的企业网站建设包括哪些
  • logo在线设计网站wordpress上传类型
  • 海南手机网站建设公司哪家好万维网网站域名续费
  • dedecms 购物网站安徽工程建设信息网官网
  • 烟台微网站建设wordpress 图片环绕
  • 网站建设书籍湖南建设人力
  • 自学编程的网站米拓建站官网怎么用不了
  • 培训类网站建设东莞网站搜索排名
  • 做外贸平台还是网站汉语资源建设相关网站
  • 2019做什么类型网站成都市城乡建设管理局网站
  • 微网站开发项目合作协议wordpress视频链接
  • 网站怎样做自适应分辨率大小网页打不开但是微信和qq都可以上
  • 网站开发的税率是多少钱营销型网站建设有哪些平台
  • 网站seo新闻潜江网页设计
  • 超酷 flash 网站网站描述怎么写好
  • 网站做外链的具体步骤免费一键logo设计
  • 广告传媒建设网站标书制作软件
  • 哪家网站建设服务好啊中国新闻社是事业编制吗
  • 福田网站建设费用预算可不可以免费创建网站
  • 建设银行网站打不开 显示停止工作网站开发中背景图片怎么弄全屏
  • 泉州有哪些公司是做网站网网站建设
  • 建网站的公司公司十大免费跨境网站
  • 温州企业网站建设怀化网站优化公司有哪些
  • 安全网站建设情况企业营销策略
  • 单页面 网站怎么做的厦门网站建设哪家便宜
  • 企业建设门户网站的目的横琴网站建设
  • 泰安网站建设制作服务网站设计一个月多少钱
  • 大型网站建设公司优化一个网站
  • 网站建设布吉大连甘井子区二手房