aliliin / commit-comment

0 stars 0 forks source link

2022/02/25/Kratos%20%E9%9B%86%E6%88%90%20GORM%20%E4%BA%8B%E5%8A%A1/ #3

Open utterances-bot opened 2 years ago

utterances-bot commented 2 years ago

如何在 Go Kratos 框架中使用 GORM 事务 ? - Aliliin

如何在 Go Kratos 框架中使用 gorm 事务 ? 准备工作 创建新项目

1234567kratos new helloworldcd helloworld# 拉取项目依赖go mod download# 项目中的 config 等请自行修改

添加事务如果您还不了解 Kratos、 mysql 事务 和 GORM 的话请先了解一下。

data 层承载事务是否比较合适?

其实最简单也

https://aliliin.com/2022/02/25/Kratos%20%E9%9B%86%E6%88%90%20GORM%20%E4%BA%8B%E5%8A%A1/

EchoGroot commented 2 years ago

kratos:

data 业务数据访问,包含 cache、db 等封装,实现了 biz 的 repo 接口。我们可能会把 data 与 dao 混淆在一起,data 偏重业务的含义,它所要做的是将领域对象重新拿出来,我们去掉了 DDD 的 infra层。

我更赞同你的想法

EchoGroot commented 2 years ago

consume := Consume{ UserID: a.UserID, OrderID: a.OrderID, OrderPrice: a.OrderPrice, }

对象拷贝可以考虑使用copier,很方便。如果要控制字段,可以考虑使用Protocol buffer的fieldMask

aliliin commented 2 years ago

kratos:

data 业务数据访问,包含 cache、db 等封装,实现了 biz 的 repo 接口。我们可能会把 data 与 dao 混淆在一起,data 偏重业务的含义,它所要做的是将领域对象重新拿出来,我们去掉了 DDD 的 infra层。

我更赞同你的想法

😂 其实这个是 kratos 的想法。官方文档有写。

aliliin commented 2 years ago

consume := Consume{ UserID: a.UserID, OrderID: a.OrderID, OrderPrice: a.OrderPrice, }

对象拷贝可以考虑使用copier,很方便。如果要控制字段,可以考虑使用Protocol buffer的fieldMask

好的。👌

EchoGroot commented 2 years ago

官方文档有写。

哪里啊,方便给我个地址吗,我在官方文档没找到

aliliin commented 2 years ago

官方文档有写。

哪里啊,方便给我个地址吗,我在官方文档没找到

https://go-kratos.dev/docs/intro/layout

EchoGroot commented 2 years ago

可以开通rss订阅吗?我想订阅下你博客,质量挺好的,讲的很清楚

aliliin commented 2 years ago

可以开通rss订阅吗?我想订阅下你博客,质量挺好的,讲的很清楚

目前还不支持此功能,要不关注一下 微信公众号吧,😂

EchoGroot commented 2 years ago

你博客 关于 公众号二维码失效了

aliliin commented 2 years ago

你博客 关于 公众号二维码失效了

微信搜索:上帝喜爱笨人