Skip to main content
Version: 2.7.x(Latest)

建立数据表


在你的数据库中执行以下sql语句创建一张名为 users 的数据表,用于储存用户信息。

CREATE TABLE users (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password CHAR(32) NOT NULL,
email VARCHAR(100),
created_at DATETIME,
updated_at DATETIME
);
字段名类型解释
idINT UNSIGNED主键,自动递增,唯一标识用户
usernameVARCHAR(50)用户名,不允许为空
passwordCHAR(32)用户密码hash 值,固定长度为32个字符 ,不允许为空,
emailVARCHAR(100)用户的电子邮件地址,可以为空
created_atDATETIME创建时间
updated_atDATETIME记录最后更新时间

生成数据模型


修改工具配置文件:

hack/config.yaml

gfcli:
gen:
dao:
- link: "mysql:root:12345678@tcp(127.0.0.1:3306)/star"

hack/config.yamlmanifest/config/config.yaml 两个配置文件不要混淆,前者是用于开发工具的配置文件,后者是用于业务配置的文件。

执行GF-CLI命令生成数据模型:

$ gf gen dao

执行成功后,会在model层和dao层生成四个文件:

internal/model/do/users.go
internal/model/entity/users.go
internal/dao/internal/users.go
internal/dao/users.go

model层用作GoFrame管理数据结构,与数据表一一对应,不允许用户修改。model/do/users.go用作数据写入对象,采用泛型设计,方便数据入库;model/entity/users.go用作数据读取对象,类型与数据表保持一致。

dao层管理数据访问对象,GoFrame ORM通过它实现对数据表的增删改查。dao/internal/users.go保存内部对象实现,不允许用户修改,也不对外暴露。dao/users.go实例化数据访问对象并对外暴露,用户可以在这里添加自定义的方法。