工具准备:Goland, MySQL, MySQL图形化客户端(Navicat), Git
本节主要强调环境搭建以及开发流程,代码细节逻辑不是重点。
1. GitHub创建工程,使用GoMod管理Go项目,注意配置国内GoProxy代理,这样第三方包下得很快
工程目录如下:
2. 配置文件使用ini文件,以及goini框架读取配置文件。
3. ORM框架使用gorm框架,开发使用的数据库用户最好不要是root,所以要创建一个新的用户,特别注意对用户权限的控制,否则容易出bug。
4. 直接使用gorm框架进行表的迁移操作而不是直接使用SQL语句建库,Model如下:
用户
type User struct {
gorm.Model
Username string `gorm:"type:varchar(20);not null " json:"username"`
Password string `gorm:"type:varchar(20);not null" json:"password"`
Role int `gorm:"type:int" json:"role"`
}
分类
type Category struct {
gorm.Model
ID uint `gorm:"primary_key;auto_increment" json:"id"`
Name string `gorm:"type:varchar(20);not null" json:"name"`
}
文章
type Article struct {
Category Category `gorm:"foreignKey:Cid"`
gorm.Model
Title string `gorm:"type:varchar(100);not null" json:"title"`
Cid int `gorm:"type:int;not null" json:"cid"`
Desc int `gorm:"type:varchar(200)" json:"desc"`
Content string `gorm:"type:longtext" json:"content"`
Img string `gorm:"type:varchar(100)" json:"img"`
}
未完待续。