Gin之GORM事务(转账操作)

禁用默认事务的操作

为了确保数据一致性,GORM 会在事务里执行写入操作(创建、更新、删除)。如果没有这方面的要求,您可以在初始化时禁用它,这将获得大约 30%+ 性能提升。

// 全局禁用
db, err := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{
  SkipDefaultTransaction: true,
})

// 持续会话模式
tx := db.Session(&Session{SkipDefaultTransaction: true})
tx.First(&user, 1)
tx.Find(&users)
tx.Model(&user).Update("Age", 18)

事务 | GORM - The fantastic ORM library for Golang, aims to be developer friendly.icon-default.png?t=N7T8https://gorm.io/zh_CN/docs/transactions.html看我们之前创建的连接数据库的models,core.go:

/models/core.go:

Gin之GORM事务(转账操作)_第1张图片

package models
//这个操作是目的连接数据库,以及定义操作的是哪个库内的表
import (
	// 我们使用了go.mod来管理包
	"fmt"

	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

// ----如果要全局使用数据库,需要先定义

你可能感兴趣的:(#,gin框架,gin,云原生,数据库)