建立数据表
在你的数据库中执行以下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
);
字段名 | 类型 | 解释 |
---|---|---|
id | INT UNSIGNED | 主键,自动递增,唯一标识用户 |
username | VARCHAR(50) | 用户名,不允许为空 |
password | CHAR(32) | 用户密码hash 值,固定长度为32个字符 ,不允许为空, |
email | VARCHAR(100) | 用户的电子邮件地址,可以为空 |
created_at | DATETIME | 创建时间 |
updated_at | DATETIME | 记录最后更新时间 |
生成数据模型
修改工具配置文件:
hack/config.yaml
gfcli:
gen:
dao:
- link: "mysql:root:12345678@tcp(127.0.0.1:3306)/star"
hack/config.yaml
与manifest/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
实例化数据访问对象并对外暴露,用户可以在这里添加自定义的方法。