一、安装gf工具
根据自己的系统环境选择:https://github.com/gogf/gf/releases
window下载注意事项:需要把gf.exe放到安装目录(GOROOT)的/bin或者GOPATH的/bin。否则会出现下载下来的exe,点击安装,闪了一下就没了。
二、gf工具使用
可以在命令行的任意目录中使用gf 命令,执行gf -v测试是否安装成功
三、goframe项目创建
在当前目录下创建一个指定名称的项目:gf init myapp
四、代码生成
使用方式:设计好数据库表以后,在config.yaml文件中配置数据库信息,然后进入项目根目录执行 gf gen dao 即可
以下3个目录的文件由dao命令生成:
路径说明详细介绍
/internal/model/entity数据模型数据模型由工具维护,用户不能修改。
工具每次生成代码文件将会覆盖该目录。
/internal/service/internal/do数据转换模型数据转换模型用于业务模型到数据模型的转换,由工具维护,用户不能修改。
工具每次生成代码文件将会覆盖该目录。
/internal/service/internal/dao数据操作对象通过对象方式访问底层数据源,底层基于ORM组件实现。往往需要结合entity和do通用使用。该目录下的文件开发者可扩展修改,但是往往没这种必要。
model中的模型分为两类:数据模型和业务模型。
数据模型:通过CLI工具自动生成 model/entity 目录文件,数据库的数据表都会生成到该目录下,这个目录下的文件对应的模型为数据模型。数据模型即与数据表一一对应的数据结构,开发者往往不需要去修改并且也不应该去修改,数据模型只有在数据表结构变更时通过CLI工具自动更新。数据模型由CLI工具生成及统一维护。
业务模型:业务模型即是与业务相关的数据结构,按需定义,例如service的输入输出数据结构定义、内部的一些数据结构定义等。业务模型由开发者根据业务需要自行定义维护,定义到model目录下。
dao中的文件按照数据表名称进行命名,一个数据表一个文件及其一个对应的DAO对象。操作数据表即是通过DAO对象以及相关操作方法实现。dao操作采用规范化设计,必须传递ctx参数,并在生成的代码中必须通过Ctx或者Transaction方法创建对象来链式操作数据表。
同时,dao采用了工程化规范设计。可以看到,dao/do是service层内部模块,也就是说,只有service层才能访问dao数据操作对象并与底层数据库交互。这样通过工具落地规范的方式避免了项目中随处调用dao操作数据库的情况,规范了请求调用链。
五、资源打包
使用方式:gf pack -h
该命令用以将任意的文件打包为资源文件或者Go代码文件,可将任意文件打包后随着可执行文件一同发布。
网友评论