让gorm代码飞起来,gorm+gmodeltool生成entity,让实体类代码更轻松。
2024/1/15 5:02:21
本文主要是介绍让gorm代码飞起来,gorm+gmodeltool生成entity,让实体类代码更轻松。,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
背景
不卷!php经历多年的不衰败的原因只有一个,哪就是不卷,但是由于并发和缺乏编译严谨度降低,使得长青树不得己走向了衰败。
但!叱咤风云多年,大企百度、腾讯、新浪、搜狐的首先语言的流行在于,其语言的简洁,对业务表达的更为直接。拒绝java的对象中加层中层,在我眼中哪就是一坨臭臭~
话不多说,上代码,看看效果!
gmodeltool生成实体类
- go环境安装,不多说,去必应一下吧!
- 安装gmodeltool
go install github.com/lingdor/gmodeltool
到这里有2种方式,一处是shell生成,一种是嵌入式生成(就是在代码中生成指定代码段)。
3. 生成entity
gmodeltool gen entity --gorm --dsn 'user:password@tcp(127.0.0.1:3306)/db1' --to-files ./ --tables "tb_user"
生成的entity
tbuser_gen.go
//gmodel:gen:entity:tb_user:10ee7e5ec910d29e251a7a7481b7fed9 type TbUserEntity struct { id *string `gmodel:"id" gorm:"column:id;primaryKey;"` // name *string `gmodel:"name" gorm:"column:name"` // age *int `gmodel:"age" gorm:"column:age"` // createtime *time.Time `gmodel:"createtime" gorm:"column:createtime"` // } //gmodel:gen:end
嵌入式生成-代码段(可以随时一键更新代码)
package main //go:generate gmodeltool gen entity --gorm --dsn 'user:password@tcp(127.0.0.1:3306)/db1' --tables "tb_user" //gmodel:gen:entity:@embed:10ee7e5ec910d29e251a7a7481b7fed9 type TbUserEntity struct { id *string `gmodel:"id" gorm:"column:id;primaryKey;"` // name *string `gmodel:"name" gorm:"column:name"` // age *int `gmodel:"age" gorm:"column:age"` // createtime *time.Time `gmodel:"createtime" gorm:"column:createtime"` // } //gmodel:gen:end
gmodeltool 配置
你可以在项目的根目录中放置一个gmodel.yml文件,用于配置gmodeltool生成时,所需的相关配置。如数据库连接dsn,是否显示verbose。
gmodel.yml
gmodel: verbose: true connection: default: dsn: mysql://root:123456@tcp(127.0.0.1:3306)/db1 user: dsn: mysql://root:123456@tcp(127.0.0.1:3306)/db2
这样,你就可以不用每次执行gmodeltool指令时都加dsn和verbose参数了,当然可以通过connection参数指定配置中的连接地址。
3ks.
这篇关于让gorm代码飞起来,gorm+gmodeltool生成entity,让实体类代码更轻松。的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-20go-zero 框架的 RPC 服务 启动start和停止 底层是怎么实现的?-icode9专业技术文章分享
- 2024-12-19Go-Zero 框架的 RPC 服务启动和停止的基本机制和过程是怎么实现的?-icode9专业技术文章分享
- 2024-12-18怎么在golang中使用gRPC测试mock数据?-icode9专业技术文章分享
- 2024-12-15掌握PageRank算法核心!你离Google优化高手只差一步!
- 2024-12-15GORM 中的标签 gorm:"index"是什么?-icode9专业技术文章分享
- 2024-12-11怎么在 Go 语言中获取 Open vSwitch (OVS) 的桥接信息(Bridge)?-icode9专业技术文章分享
- 2024-12-11怎么用Go 语言的库来与 Open vSwitch 进行交互?-icode9专业技术文章分享
- 2024-12-11怎么在 go-zero 项目中发送阿里云短信?-icode9专业技术文章分享
- 2024-12-11怎么使用阿里云 Go SDK (alibaba-cloud-sdk-go) 发送短信?-icode9专业技术文章分享
- 2024-12-10搭建个人博客网站之一、使用hugo创建个人博客网站