在工作中经常会遇到各种各样的判断,尤其是在多条数据插入数据库的时候,如果我们用各种各样的判断,那么当程序走到某一个判断时发生错误,那么之前往数据库中插入的数据则需要删除,或者当发生断电等原因时,那么我们这时候就需要用到事务。

引擎选择InnoDB

为什么选择InnoDB, 因为它支持事务

如何使用事务

当我们做涉及金钱方面的程序时,不可避免的需要用到事务,那么关于这样的程序,我们应该怎样去设计自己的程序的?

1、假如我们有这样的一个场景:现有App需要完成订单支付需求,使用支付宝第三方支付

2、后端需要调用支付宝的Demo,生成加密字符串

3、将加密字符串返回给移动端

4、移动端拿到甲米字符串后发起支付

5、用户支付完成后,支付宝会有一个异步回调

6、后端拿到该回调信息后,确认完成支付

那么我们在设计的时候,就需要有一个总控制类,该类首先监控支付宝的加密字符串是否完成,因为在这个时候我们是需要将订单的状态改为“支付中”, 接着我们再调用获取支付宝回调接口,这时候确认用户是否支付完成,这时我们需要将订单状态改为“支付成功/失败”

Demo

具体的Demo我在这里就不写了,google会有很多,这次仅给出做事务的时候,我们需要注意什么。