gorm-创建记录
package main
import (
"time"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
var db *gorm.DB
func init() {
dsn := "root:123456@tcp(127.0.0.1:3306)/golang_test?charset=utf8mb4&parseTime=True&loc=Local"
d, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic("failed to connect database")
}
db = d
}
type User struct {
gorm.Model
Name string
Age int
Birthday time.Time
}
func CreateTables() {
db.AutoMigrate(&User{})
}
var user = User{
Name: "tom",
Age: 20,
Birthday: time.Now(),
}
func insert1() {
db.Create(&user)
}
func insert2() {
db.Select("Name", "Age", "CreatedAt").Create(&user)
}
func insert3() {
var users = []User{{Name: "jinzhu1"}, {Name: "jinzhu2"}, {Name: "jinzhu3"}}
db.Create(&users)
}
func insert4() {
db.Model(&User{}).Create(map[string]interface{}{
"Name": "Alice", "Age": 20,
})
}
func insert5() {
db.Model(&User{}).Create([]map[string]interface{}{
{"Name": "krien", "Age": 18},
{"Name": "kiki", "Age": 17},
})
}
func main() {
CreateTables()
insert1()
insert2()
insert3()
insert4()
}