1. 环境
go version go1.13.6 darwin/amd64
github.com/jinzhu/gorm v1.9.16
gorm
是golang orm框架,如果有java开发语言经验,可以和hibernate比较学习
2 打开数据连接
import (
"fmt"
"time"
_ "github.com/go-sql-driver/mysql"
"github.com/jinzhu/gorm"
)
type Test struct {
ID int `gorm:"primary_key"`
Title string `gorm:"type:varchar(128) ; not null"`
CreatedAt time.Time
}
var db *gorm.DB
func InitMySql() (err error) {
fmt.Println("init mysql....")
if db == nil {
db, err = gorm.Open("mysql", "root:123456@/gorm_demo?charset=utf8&parseTime=True&loc=Local")
if err != nil {
fmt.Println("init mysql.... err:", err)
return err
}
}
return
}
3.创建表
table是创建表明,如果不加table方法表明称默认是tests
db.Table("test").CreateTable(&Test{})
4.保存数据
func SaveTest(test *Test) error {
if err := db.Table("test").Create(test).Error; err != nil {
fmt.Println("save test error", err)
return err
}
return nil
}
5.查询数据
func SelectTest(test *Test) (testList []Test, err error) {
if err := db.Table("test").Find(&testList).Error; err != nil {
fmt.Println("select test error", err)
return nil, err
}
return testList, nil
}
6.删除
func DeleteTest(test *Test) error {
if err := db.Table("test").Delete(Test{}).Error; err != nil {
fmt.Println("delete test error", err)
return err
}
return nil
}
有疑问加站长微信联系(非本文作者)