1 Star 1 Fork 1

xiaoyutab / xgotool

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
work.go 884 Bytes
一键复制 编辑 原始数据 按行查看 历史
xiaoyutab 提交于 2024-04-30 10:16 . 调整目录结构和依赖位置
package xgorm
import (
"database/sql"
"errors"
"gorm.io/gorm"
)
// 事务相关的支持函数,代理gorm的事务相关方法
// 开启事务,代理gorm的Begin方法
//
// opts 事务选项
func (db *XDB) Begin(opts ...*sql.TxOptions) *XDB {
if db == nil || db.DB == nil {
return db
}
db.DB = db.DB.Begin(opts...)
return db
}
// 事务提交
func (db *XDB) Commit() *XDB {
if db == nil || db.DB == nil {
return db
}
db.DB = db.DB.Commit()
return db
}
// 事务回退
func (db *XDB) Rollback() *XDB {
if db == nil || db.DB == nil {
return db
}
db.DB = db.DB.Rollback()
return db
}
// 函数式事务处理
func (db *XDB) Transaction(fc func(txs *XDB) error, opts ...*sql.TxOptions) error {
if db == nil || db.DB == nil {
return errors.New("数据库未连接")
}
return db.DB.Transaction(func(tx *gorm.DB) error { return fc(To(tx)) }, opts...)
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/xiaoyutab/xgotool.git
git@gitee.com:xiaoyutab/xgotool.git
xiaoyutab
xgotool
xgotool
v0.3.13

搜索帮助

344bd9b3 5694891 D2dac590 5694891