使用 GoFrame ORM
组件进行事务操作非常简便、安全,可以通过两种操作方式来实现。
- 常规操作:通过
Begin
开启事务之后会返回一个事务操作接口gdb.TX
,随后可以使用该接口进行如之前章节介绍的方法操作和链式操作。常规操作容易漏掉关闭事务,有一定的事务操作安全风险。 - 闭包操作:通过
Transaction
闭包方法的形式来操作事务,所有的事务逻辑在闭包中实现,闭包结束后自动关闭事务保障事务操作安全。并且闭包操作支持非常便捷的 嵌套事务,嵌套事务在业务操作中透明无感知。
tip
我们推荐事务操作均统一采用 Transaction
闭包方式实现。
接口文档: https://pkg.go.dev/github.com/gogf/gf/v2/database/gdb#TX
📄️ ORM事务处理-常规操作
在GoFrame框架中进行ORM事务处理的基础操作,包括如何使用Begin、Commit和Rollback方法来开启、提交和回滚事务。同时特别提示事务操作后需要及时关闭事务以避免资源泄露,建议使用Transaction闭包方法实现安全事务操作。
📄️ ORM事务处理-闭包操作
在GoFrame框架中使用闭包操作进行ORM事务处理的优点,包括减少冗余代码、降低操作风险和简化嵌套事务,实现自动提交和回滚功能,并介绍了上下文参数在嵌套事务管理中的作用,确保事务处理的安全性和简便性。
📄️ ORM事务处理-嵌套事务
使用GoFrame框架中的ORM功能来处理嵌套事务的问题。文章详细讲解了嵌套事务的基本原理、方法以及日志信息,同时给出了常规操作和闭包操作的示例,并指出可能出现的问题。最后提供了嵌套事务在工程中的参考示例,帮助开发者理解在实际项目中如何应用。