这是我参与「第五届青训营 」伴学笔记创作活动的第十三天
起因
在学习hertz框架的时候,看到了示例代码中有一个hertz_gorm_gen的示例。
看了一下,发现这个
gen可以帮助生成数据表对应的模型文件的框架,而且好像比直接使用gorm更安全
这么好用的东西!直接开学~
构建
首先需要提前准备好数据库环境(我用的MySQL)、go环境以及gorm环境
然后通过go get添加gen环境依赖
go get -u gorm.io/gen
然后就是看了一下官方文档中的快速入门
发现有一点过于简便了,我的本意是需要将这个gen生成的文件嵌入hertz框架生成的目录结构中去的
于是我就直接参考了那个代码示例的目录结构来学习一下gen的基本用法
根据项目中的readme.md提示
以及我对于hertz框架的认识
我了解到
这些目录以及所属文件才是和gen有关的,它们的用途分别是:
- dal和dal/mysql:处理数据库初始化信息,其中dal/init.go是用来设置gen的数据库源,dal/mysql/init.go是处理mysql数据库对象的构建
- orm_gen:里面存放的是关于user的gorm类,定义了具体的结构体啥的
- query:里面存放的是gen的类和对应方法以及user的类和自定义方法
- sql:这个应该可有可无,因为是描述表结构的
- pack:这个是用来把gen生成的User转换成hertz生成的User
- cmd:最开始的gen代码,用来生成项目的,作用相当于hertz中的idl目录
然后就是一些基本的用法了,具体的也是依照参考文档和别人的博客用的,上手很快!