工具準備: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"`
}
未完待續。