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

go 事务

事务处理

  1. 首先启动事务时一定要做错误判断
  2. 建议在启动事务之后马上写defer方法
  3. 在defer方法内对err进行判断,如果全局中有err!=nil就回滚
  4. 全局中err都为nil则提交事务
  5. 在提交事务之后我们可以定义一个钩子函数afterCommit,来统一处理事务提交后的逻辑。

示例代码如下:

 
x, err := g.DB().Begin()
if err != nil {return errors.New("启动事务失败")
}defer func() {if err != nil {tx.Rollback()} else {tx.Commit()//定义钩子函数afterCommmit()}
}()

http://www.lryc.cn/news/428593.html

相关文章:

  • C,数据结构,多进程线程,网络编程面试题总结
  • 【Cesium学习】着色器详解【待进一步总结】
  • 【3】静态路由(Static routing)
  • 阿里声音项目Qwen2-Audio的部署安装,在服务器Ubuntu22.04系统——点动科技
  • RAG(检索增强生成)
  • AcWing848有向图的拓扑排序
  • 猫咪掉毛很严重,家中猫毛该如何清理?快来看资深铲屎官经验分享
  • Midjourney进阶-反推与优化提示词(案例实操)
  • 大公报发表欧科云链署名文章:发行港元稳定币,建Web3.0新生态
  • Mybatis的一些常用知识点(面试)
  • stm32—ADC
  • 【微信小程序】吐槽生态之云开发服务端能力不足
  • AnimateDiff论文解读
  • C/C++控制台贪吃蛇游戏的实现
  • Linux 升级安装 Weblogic-补丁!
  • 苍鹰来啦!快来看呀!NGO-BiTCN-BiGRU-Attention北方苍鹰算法优化多重双向深度学习回归预测
  • 关于WebSocket必知必会的知识点
  • Go 1.19.4 Sort排序进阶-Day 12
  • python-求距离(赛氪OJ)
  • 《第二十一章 传感器与定位 - 传感器应用》
  • Windows系统命令
  • C语言函数递归
  • 【python数据分析11】——Pandas统计分析(分组聚合进行组内计算)
  • 高性能web服务器
  • 微服务案例搭建
  • SAP负库存
  • 集团数字化转型方案(三)
  • ESP32智能设备:蓝牙音箱、AI语音助手、环境监测与调节以及智能控制,基于BLE与MQTT技术(代码详解)
  • web渗透测试 学习导图
  • WordPress禁止后台自定义功能