10-gorm-01-连接mysql和建表
1. 连接数据库
package main
import (
"fmt"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
)
func main() {
db, err := gorm.Open("mysql", "root:40010355@tcp(127.0.0.1:3306)/crow?charset=utf8&parseTime=True&loc=Local")
if err != nil {
fmt.Printf(err.Error())
}else {
fmt.Printf("OK")
db.DB().SetMaxIdleConns(10)
db.DB().SetMaxOpenConns(100)
defer db.Close()
}
}
2 创建表
- 连接代码同上,main函数中添加创建代码如下:
db.CreateTable(&LiuBei{})
- 添加一个结构体
type LiuBei struct {
ID int64
Name string
}
- 生成的库名
结构体 | 库名 |
---|---|
LiuBei | liu_beis |
Guan_Yu | guan_yu |
ZhangFei01 | zhang_fei01 |
说明:以驼峰定义结构体,库名会变成小写中间以”_”分割,结尾加“s”。如果以数字结尾则不会加"s"。
- 结尾不加"s"(自定义表名)
添加如下代码
func(LiuBei) TableName() string {
return "liu_bei"
}
生成库名为"liu_bei"