package main

import (

"fmt"
"log"
"time"

"gorm.io/driver/mysql"
"gorm.io/gorm"

)

var db *gorm.DB

func init() {

dsn := "root:123456@tcp(127.0.0.1:3306)/golang_db?charset=utf8mb4&parseTime=True&loc=Local"
d, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
    log.Fatal(err)
}
fmt.Printf("err: %v\n", err)
db = d

}

type User struct {

gorm.Model
Name     string
Age      int
Birthday time.Time

}

func creatTable() {

db.AutoMigrate(&User{})

}

var user = User{

Name:     "Tom",
Age:      20,
Birthday: time.Now(),

}

func insert1() {

result := db.Create(&user)
fmt.Printf("result.RowsAffected: %v\n", result.RowsAffected)
fmt.Printf("user.ID: %v\n", user.ID)

}

func insert2() {

db.Select("Name", "Age", "CreatedAt").Create(&user)

}

func insert3() {

var users = []User{{Name: "jinzhu1"}, {Name: "jinzhu2"}, {Name: "jinzhu3"}}
db.Create(&users)

}

func main() {

// creatTable()
// insert1()
// insert2()
insert3()

}

userscreated_atupdated_atdeleted_atnameagebirthday