1、什么叫做事务? mysql中,事务其实是一个最小的不可分割的工作单元。事务能够保证一个业务的完整性。 eg.银行转账: a要向b转出100元:a-->-100: update user set money=money-100 where name='a'; b-->+100: update us ...
分类:
其他好文 时间:
2020-04-15 14:04:15
阅读次数:
90
写在前面 今天,在优化程序的加锁方式时,竟然出现了死锁!!到底是为什么呢?!经过仔细的分析之后,终于找到了原因。 为何需要优化加锁方式? 在《 "【高并发】高并发环境下诡异的加锁问题(你加的锁未必安全)" 》一文中,我们在转账类TansferAccount中使用TansferAccount.clas ...
分类:
其他好文 时间:
2020-04-12 22:14:35
阅读次数:
91
一、数据库三大范式: 1、列不可再分。 2、属性依赖于主键。 3、属性直接依赖于主键,不依赖其他属性。 二、数据库事务的四大特性:(ACID) 1、原子性:一个事务的所有操作要么全部完成,要么全部失败回滚。 2、一致性:事务提交前后,数据库整体保持一致性状态。如A、B之间转账后,总金额不变。 3、隔 ...
分类:
数据库 时间:
2020-04-11 20:56:43
阅读次数:
88
项目的说明书 项目:ATM + 购物车 项目需求: 1.额度15000或自定义 ==> 注册功能 2.实现购物商城,买东西加入购物车,调用信用卡接口结账 ==> 购物功能、支付功能 3.可以提现,手续费5% ==> 提现功能 4.支持多账户登录 ==> 登录功能 5.支持账户间转账 ==> 转账功能 ...
分类:
其他好文 时间:
2020-04-11 09:54:52
阅读次数:
71
#TCL/*Transaction Control Language 事务控制语言 事务:一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。 案例:转账 张三丰 1000郭襄 1000 update 表 set 张三丰的余额=500 where name='张三丰'意外 ...
分类:
数据库 时间:
2020-04-07 20:47:08
阅读次数:
84
事务(Transaction)定义 一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务(例如银行账户转账业务,该业务就是一个最小的工作单元) 一个完整的业务需要批量的DML(insert、update、delete)语句共同联合完成 事务只和DML语句有关,或者说DML语句才有事务。这个和 ...
分类:
数据库 时间:
2020-04-03 21:35:18
阅读次数:
88
项目的说明书 项目:ATM + 购物车 项目需求: 1.额度15000或自定义 --> 注册功能 2.实现购物商城,买东西加入购物车,调用信用卡接口结账 --> 购物功能、支付功能 3.可以提现,手续费5% --> 提现功能 4.支持多账户登录 --> 登录功能 5.支持账户间转账 --> 转账功能 ...
分类:
其他好文 时间:
2020-04-02 22:57:15
阅读次数:
91
1,分析需求 1.额度15000或自定义 注册功能 2.实现购物商城,买东西加入购物车,调用信用卡接口结账 购物功能、支付功能 3.可以提现,手续费5% 提现功能 4.支持多账户登录 登录功能 5.支持账户间转账 转账功能 6.记录日常消费 记录流水功能 7.提供还款接口 还款功能 8.ATM记录操 ...
分类:
编程语言 时间:
2020-04-02 22:17:35
阅读次数:
63
一、需求文档 1.额度15000或自定义 2.实现购物商城,买东西加入购物车,调用信用卡接口结账 3.可以提现,手续费5% 4.支持多账户登录 5.支持账户间转账 6.记录日常消费 7.提供还款接口 8.ATM记录操作日志 9.提供管理接口,包括添加账户、用户额度,冻结账户等。。。 10.用户认证用 ...
分类:
其他好文 时间:
2020-04-02 21:09:32
阅读次数:
87
此案例 使用动态代理 + 事务控制 完成转账 当有异常发生时,加在业务层中的事务会回滚,避免出现转出方钱已经转出,但接收放没有收到钱 pom依赖 POJO类 持久层接口 持久层接口的实现类 业务层接口 业务层接口的实现类 连接的工具类,用于从数据源中获取一个连接,并且实现和线程的绑定 和事务管理相关 ...
分类:
其他好文 时间:
2020-04-01 23:25:22
阅读次数:
71