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

Java转Go日记(四十三):Gorm事务

1.1.1. 事务

要在事务中执行一组操作,一般流程如下。

    // 开始事务tx := db.Begin()// 在事务中做一些数据库操作(从这一点使用'tx',而不是'db')tx.Create(...)// ...// 发生错误时回滚事务tx.Rollback()// 或提交事务tx.Commit()

一个具体的例子

    func CreateAnimals(db *gorm.DB) err {tx := db.Begin()// 注意,一旦你在一个事务中,使用tx作为数据库句柄if err := tx.Create(&Animal{Name: "Giraffe"}).Error; err != nil {tx.Rollback()return err}if err := tx.Create(&Animal{Name: "Lion"}).Error; err != nil {tx.Rollback()return err}tx.Commit()return nil}

相关文章:

  • 反射在spring boot自动配置的应用
  • HTML应用指南:利用POST请求获取全国申通快递服务网点位置信息
  • 基于Java的校园失物招领系统【附源码】
  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年5月20日第83弹
  • Python----循环神经网络(WordEmbedding词嵌入)
  • Java中的ImageIo支持webp解析
  • java中的Filter使用详解
  • Leetcode 01 java
  • 预先学习:构建智能系统的 “未雨绸缪” 之道
  • 杰发科技AC7840——如何把结构体数据写到Dflash中
  • 【NLP 76、Faiss 向量数据库】
  • 珈和科技贺李德仁院士荣膺国际数字地球学会会士:以时空智能赋能可持续发展目标 绘就数字地球未来蓝图
  • 【神经网络与深度学习】扩散模型之通俗易懂的解释
  • HarmonyOS5云服务技术分享--ArkTS调用函数
  • 4-5月份,思科,华为,微软,个别考试战报分享
  • 鸿蒙PC新物种发布!华为MateBook Pro/ Fold深度解析:折叠屏革命与生态破局
  • 一文掌握vue3基础,适合自学入门案例丰富
  • A1-A2 英语学习系列 第四集 中国版
  • MYSQL备份恢复知识:第四章:备份锁
  • 关于汇编语言与接口技术——单片机串行口的学习心得
  • 重庆对外经贸学院通报:一学生在体育课后不慎坠入化粪池,不幸遇难
  • 新疆巴音郭楞州和硕县发生4.6级地震,震源深度10千米
  • 江苏省人民检察院副检察长丁海涛调任省委政法委副书记
  • 前4个月全国新建商品房销售面积降幅收窄,房地产库存和新开工有所改善
  • 中科院合肥物质院迎来新一届领导班子:刘建国继续担任院长
  • 体育文化赋能国际交流,上海黄浦举办国际友人城市定向赛