提交数据里面有and就报错_代码方式手动事务处理,不写代码方式事务自动处理,保证数据一致...

视频稍后发布请关注

一.代码方式事务处理

1.单表插入,正常情况下

学校表插入

844df08c761456dcfb2d7306af78437f.png

医院表插入

f4de405e457174d0ee4e22402768bef8.png

2.单表插入,模拟一条出错一条正常,我们假设医院出错

分别执行

学校表插入(正常)

c6cf93d251496ab9b5eb8528277344e1.png

医院表插入(错误)

606c2163a02d6d99de326c953e16c316.png

由于主键冲突插入失败

4f6b9935cf37fd74777d32eea4eaa9d9.png
eaa0b862869e13a350b073977ab91bbd.png

同时提交事务执行

9e2c8d71be3d73137812e80c7bd43abb.png

这里第一个sql执行正常第二个报错,一起做统一事务提交时,应该是失败,两条都不成功。

我们执行以下看结果。

f6fcb594147aa4fbf327306132aecc46.png

我们看一下数据库,两条数据都没有插入成功。说明事务处理是正常的

086dfe380ac0774775e8f8126944dad6.png
3adcada41233c03971a75a072334fbee.png

单独执行不做事务处理-两条同时提交

be542f67ab3683a073ad59822cfdb3d1.png

我们看到第二条已经报错,我们看一下数据库

学校正常插入一条

f00406c48f7d7e858877daf8f8fe2fc6.png

医院表由于报错没有插入进去

a02a900f574d47211185f8d6b6f4aa38.png

一.无代码方式事务处理

我们直接组合两个接口作为一次事务处理。也就是模拟同时给医院和学校表同时新增数据。

由于学校和医院表结构一样我们字段可以共用

1.我们先模拟失败的情况

请求地址和参数如下:

http://192.168.50.111:8080/test/commapi?m=u&k=bGsHosptialInsert,bGsSchoolInsert&id=11&citycode=ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd&name=&x=&y=&address=111

1b5b769b22eaca3f3a81e0a36c7a6484.png

我们直接执行看一下执行结果

6076f4699a8132ade07971a85bd5398c.png
a01d8be7563a6ffc9a756c1815320bea.png

执行失败,接着我们看一下数据库进行验证一下

学校表没有新增数据

66b6c2e6845cc1847e3c8fa313c18e55.png

医院表也没有新增数据

807e5d4ed1038396e63e40550d120e6b.png

2.我们模拟正常的情况

参数:http://192.168.50.111:8080/test/commapi?m=u&k=bGsHosptialInsert,bGsSchoolInsert&id=11&citycode=dddddd&name=&x=&y=&address=&cityname

cb6cdcd1b0d339af1423894b71389259.png
1b2804b4f52e84ff32c77a994626a306.png

我们继续进入数据库验证

学校成功插入一条数据

e6aacf244344bfebfa649b72b94d91e8.png

医院也成功插入一条

4055e45cab726e3028af2c1a6fdeec9c.png

事务正常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值