xorm和gorm数据库结构体当返回参数

        我们在开发golang项目代码的时候,都会用到数据数据库工具,现在主流的就是xorm和gorm,然后我们一般会创建数据库表的结构体表单,如下所示:

type Task struct {
	ID              int64          `gorm:"column:id;type:bigint;primaryKey;autoIncrement:false" json:"taskId,string"`
	SN              string         `gorm:"column:sn;type:varchar(128)" json:"sn"`
	Name            string         `gorm:"column:task_name;type:varchar(128);not null" json:"name"`
	Company         string         `gorm:"column:company;type:varchar(128);not null" json:"company"`
}

1、问题

        像上面的数据库结构体就是gorm数据库工具创建的表单,对于xorm数据库工具,样子也差不多类似上面的结构体,这个结构体大家都知道是创建表单的结构体,这些数据是用来在数据库里面创建一个含有上面四个字段的数据库表,但是我们有时候会直接使用这个结构体直接返回数据给前端,因为前端需要的也是表单的那些字段的数据,没必要再新建一个一样的结构体,表单里面我们添加了json:"name"这种类似的字段,表示返回给前端间质为name的json数据,但是我们有时候不需要将数据库的其中一个字段返回给前端,不管是因为安全还是其他什么原因,再不重新新建结构体的情况下,返回数据给前端去掉那个字段??怎么做呢

2、解决方法

        我们还是用上面的结构体来举例说明解决办法,假如说我们只需要返回给前端,sn,company,name三个字段,而不想把id也返回给前端,那么我们定义结构体把id的json改成横杠-就好了,像下面这样

type Task struct {
	ID              int64          `gorm:"column:id;type:bigint;primaryKey;autoIncrement:false" json:"-"`
	SN              string         `gorm:"column:sn;type:varchar(128)" json:"sn"`
	Name            string         `gorm:"column:task_name;type:varchar(128);not null" json:"name"`
	Company         string         `gorm:"column:company;type:varchar(128);not null" json:"company"`
}

改成上面这样的数据库结构体后,使用结构体返回json数据的时候就没有id这个键值了,方便实用,也不需要重新再新建一个json的结构体数据。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值