Gin之GORM事务(转账操作)

2023-12-20 23:00:35

禁用默认事务的操作

为了确保数据一致性,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:

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

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

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

文章来源:https://blog.csdn.net/m0_72264240/article/details/135102451
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。