关于dao等几个问题

来源:6-10 服务管理 - 服务添加 - 功能介绍

甲壳虫之子911

2020-08-17

你好:
视频教程非常的棒,目前在根据这套框架编制其他项目。
其中关于dao等几个问题请教,具体如下:

1、dao中跟数据库某表的关联,例如

type Customerinfo struct {
	CustomerID   int    `json:"customer_id" gorm:"primary_key" description:"自增主键"`
	Customername string `json:"customer_name" gorm:"column:customer_name" description:"客户名"`
}

一般而言,结构体的tag内,跟数据库表字段一一对应的,应该是gorm:“column:customer_name”,这种。
但是由于func (s *DB) Save(value interface{}) *D{}中,save方法,值如果是主键才能实现update效果,我的理解是否正确?
所以dao中的某个结构体,其中一项必须是主键,设置成gorm:“primary_key” ,而对应的数据表字段,就是前面的json:“customer_id”,因为发现如果改成不对应的,根据log发现sql语句报错。

2、dao文件中import的gorm框架,引入的是"github.com/e421083458/gorm"
这个是否可以更换成其他GORM,https://github.com/go-gorm/gorm

另外,大侠是否还有其他平台在做教程,可以PO下,前去学习。

写回答

1回答

牛儿吃草

2020-08-17

1. 不用json的,写json只是为了输出正好是dao的情况下。标准写法是gorm:"column:nameSpace",主键的pk写法没错
2. 可以看一下我出的gin入门实战免费课程。里面也有功能讲解的。

0
2
牛儿吃草
回复
甲壳虫之子911
是的需要指定pk字段的tag才能正确执行save的update数据。
2020-08-17
共2条回复

(打造简历金牌项目)Vue+Go 开发企业级微服务网关项目

简历中摒弃烂大街的培训机构项目,带你开发企业级微服务网关

1316 学习 · 352 问题

查看课程