美文网首页
grom-事务

grom-事务

作者: 玄德公笔记 | 来源:发表于2022-02-12 10:57 被阅读0次

1. 语法

  • 开启事务
tx := db.Begin()
  • 在事务中执行操作

从这里开始使用 'tx',而不是 'db'

tx.Create(...)
  • 回滚事务
tx.Rollback()
  • 提交这个事务
tx.Commit()

2. 示例

func CreateAnimals(db *gorm.DB) (err error) {
    // 注意在事务中要使用 tx 作为数据库句柄
    tx := db.Begin()
    defer func() {
        if r := recover(); r != nil {
            tx.Rollback()
        }
    }()

    if err := tx.Error;err != nil {
        return err
    }

    if err := tx.Create(&xiShu{Name: "ZhaoYun",Age: 18}).Error; err != nil {
        tx.Rollback()
        return err
    }

    if err := tx.Create(&xiShu{Name: "MaChao",Age: 20}).Error; err != nil {
        tx.Rollback()
        return err
    }

    return tx.Commit().Error
}

相关文章

  • grom-事务

    1. 语法 开启事务 在事务中执行操作 从这里开始使用 'tx',而不是 'db' 回滚事务 提交这个事务 2. 示例

  • grom-删除

    @[toc] 1. 删除记录 完整示例 删除id=2 的一行 2. 批量删除 或写作 示例表中原有数据 代码 上例...

  • grom-高级查询

    1. Order 1.1 简单使用 age字段降序,name字段升序(默认) 或者写成 示例 输出 1.2 重新排...

  • grom-查询-初始化

    1. FirstOrInit 1.1 FirstOrInit(查询表给Struct赋值) 示例(查询到结果) 结...

  • java事务

    1、java事务介绍 2、JDBC事务 3、JTA事务 1、java事务介绍 java事务分类:JDBC事务、...

  • 事务、MySQL与Python交互、Python 中操作 MyS

    1、事务 事务操作分两种:自动事务(默认)、手动事务 手动事务的操作流程 开启事务:start transacti...

  • 数据库事务书目录

    数据库事务 事务概念 本地事务 全局事务 全局事务的定义 J2EE中全局事务的实现 全局事务的优缺点 基于消息的分...

  • MySQL事务

    MySQL-innodb-事务 事务的特性 事务的生命周期 失败的事务: 事务的控制语句 面试题 事务日志-red...

  • mysql事务隔离机制及其隔离级别、实现原理分析

    目录 事务特性ACID属性 并发事务带来的问题 事务隔离级别 事务实现原理 事务特性ACID属性 事务特性指的就是...

  • MULE事务配置

    在mule的事务可能为jdbc事务,jms事务,xa事务等,多种事务.这里讲解事务的几个动作: 相关的文档:htt...

网友评论

      本文标题:grom-事务

      本文链接:https://www.haomeiwen.com/subject/xjwnkrtx.html