GoZero微服务个人探究之路(八)-[mysql数据库]如何拓展由goctl生成的model代码里的方法

前言

goctl生成的方法只有四个:

insert,update,findone,delete,

事实上很多时候这是不够用的,同时生成的这四个方法也很简单,业务逻辑一复杂就做不了了,需要我们自己去实现自己想要的方法

如何实现

goctl生成的model代码有2个:

xxxxxmodel_gen.go

xxxxxmodel.go

打开后缀gen的go文件,我们发现上面有提示,不要编辑这个文件,而另外一个go文件没有这个提示

事实上gen后缀的go文件是四个生成的方法的实现,我们只需要对model后缀代码进行修改


这里我们就增加一个findAll的方法,获取表内全部数据

流程如下:

定义customxxxxxmodel接口,在接口内新增自定义方法FindAll

然后去实现customxxxxModel添加的新方法

其实我们可以发现,goctl的逻辑是defaultxxxmodel包含了生成的四个方法,而customxxxmodel是包含defaultxxxmodel的,我们只需要为custom增加方法并实现就可以不影响goctl的添加我们自己的业务逻辑代码了

后面该怎么用

  1. 在serviceCtx结构体添加对应model,并在NewServiceContext里面正确返回实例
  2. 在logic代码调用svcCtx的实例我们自定义的方法

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏目艾拉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值