18 lines
462 B
Markdown
18 lines
462 B
Markdown
# Data
|
|
与外部交互的基础层:包含 数据库、Redis、MQ 等
|
|
|
|
## 如何编写数据库的dao
|
|
1. 注入 data *Data
|
|
2. 获取 Db 对象时,禁止直接取属性,必须使用 GetDb 方法,此方法解析了上下文 Context 中是否开启了事务
|
|
|
|
## 事务的使用
|
|
```go
|
|
var err error
|
|
err = Exec(ctx, func(ctx context.Context) error {
|
|
err = GoodsCreate(ctx)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return GoodsCashCreate(ctx)
|
|
})
|
|
``` |