学习笔记,写到哪是哪。
接着上一篇文章:Go语学习笔记 - gorm使用 - gorm处理错误 | Web框架Gin(十)_的博客-CSDN博客
在项目中事务处理,回滚操作还是比较常见的需求。
本文测试一下gorm的事务处理效果。
项目地址:github地址
如果没有事务方面需求,也是可以全局禁用事务的,官方给出的性能提升是30%。
在student_service下新增TestTransaction方法。
方法代码如下:
//测试事务效果
func (t StudentImpl) TestTransaction() rsp.ResponseMsg {
log.Logger.Info("测试事务效果")
_db := mysql.GetDB()
_db.Transaction(func(tx *gorm.DB) error {
tx.Create(&db_entity.Student{
Name: "张飞", Age: 200,
})
var _student db_entity.Student
if _err := tx.Where("del_flag = 1").First(&_student).Error; _err != nil {
return _err
}
fmt.Println(_