golang中如何实现db事务的统一封装(db,golang,开发技术)

时间:2024-05-05 12:13:42 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    golang%E4%B8%AD%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0db%E4%BA%8B%E5%8A%A1%E7%9A%84%E7%BB%9F%E4%B8%80%E5%B0%81%E8%A3%85

事务处理的流程示例

以上是我们使用事务时的一般操作,如果每做一次事务的操作均要进行重新写一遍代码岂不是很麻烦,尤其是出错时,Rollback需要多次在不同错误的地方的进行调用处理。

采用defer处理Rollback

无论成功与否,均进行Rollback操作,只是有点影响,如果成功还调用Rollback的话,将会报错。虽然可以忽略,但作为程序员,有必要进一步调整。

根据执行结果来选择执行Rollback,避免无效使用。

如此,我们就可以根据事务的执行结果决定是否Rollback了。

封装,以上代码本身就具有极大的普适性,因此,我们抽出通用的参数,将此过程封装成一个func,以后就可以直接调用了。

封装后我们可以如下使用:

封装后是不是很简洁啊?

在一个事务中可能会出现多个SELECT、UPDATE等操作,以上封装仅处理了一种操作,还不能满足我们的实际需求,因此需要更进一步封装。

在handle func内可以直接使用事务tx进行增删改查。

本文:golang中如何实现db事务的统一封装的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:常用CSS的问题及如何解决下一篇:

10 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18