不要因为没有掌声而放弃梦想,你需要的是坚持而不是观众!!!
代码已放在:/hjx_RuGuoYunZhiDao/strom-huang-go
可参照文档:/docs/gorm/v2/create/9732#e9dfd9
1、 引入gorm
import ("gorm.io/driver/mysql""gorm.io/gorm""gorm.io/gorm/logger")
2、添加一个model
type TUser struct {ID uint `gorm:"primaryKey"`NamestringPassword stringPhonestring `gorm:"phone"`NickName string `gorm:"nick_name"`CreatedAt time.Time `gorm:"column:created_at;type:datetime"`UpdatedAt time.Time `gorm:"column:updated_at;type:datetime"`DeletedAt time.Time `gorm:"column:deleted_at;type:datetime"`}
3、链接数据库
dsn := "root:root@tcp(localhost:3306)/go_test?charset=utf8mb4&parseTime=True&loc=Local"db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{Logger: newLogger,})
4、创建数据
//普通创建user := TUser{Name: "test", Password: "123", NickName: "hello", Phone: "123", CreatedAt: time.Now()}result := db.Create(&user) // 通过数据的指针来创建fmt.Println(result.RowsAffected)//创建记录并更新给出的字段db.Select("name", "password", "phone", "nick_name").Create(&user)//创建记录并更新未给出的字段db.Omit("phone").Create(&user)//批量插入 使用 CreateInBatches 创建时,你还可以指定创建的数量var users = []TUser{{Name: "test1", Password: "123", NickName: "hello1", CreatedAt: time.Now()}, {Name: "test2", Password: "123", NickName: "hello2", CreatedAt: time.Now()}}db.Create(&users)db.CreateInBatches(&users, 100)
5、具体代码:
package mainimport ("fmt""log""os""time""gorm.io/driver/mysql""gorm.io/gorm""gorm.io/gorm/logger")//model:type TUser struct {ID uint `gorm:"primaryKey"`NamestringPassword stringPhonestring `gorm:"phone"`NickName string `gorm:"nick_name"`CreatedAt time.Time `gorm:"column:created_at;type:datetime"`UpdatedAt time.Time `gorm:"column:updated_at;type:datetime"`DeletedAt time.Time `gorm:"column:deleted_at;type:datetime"`}//指定数据库表名称func (TUser) TableName() string {return "t_user"}func main() {//启用打印日志newLogger := logger.New(log.New(os.Stdout, "\r\n", log.LstdFlags), // io writerlogger.Config{SlowThreshold: time.Second, // 慢 SQL 阈值LogLevel:logger.Info, // Log level: Silent、Error、Warn、InfoColorful:false, // 禁用彩色打印},)dsn := "root:root@tcp(127.0.0.1:3306)/go_admin?charset=utf8mb4&parseTime=True&loc=Local"db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{Logger: newLogger,})if err != nil {fmt.Println(err)return}//普通创建user := TUser{Name: "test", Password: "123", NickName: "hello", Phone: "123", CreatedAt: time.Now()}result := db.Create(&user) // 通过数据的指针来创建fmt.Println(result.RowsAffected)//创建记录并更新给出的字段db.Select("name", "password", "phone", "nick_name").Create(&user)//创建记录并更新未给出的字段db.Omit("phone").Create(&user)//批量插入 使用 CreateInBatches 创建时,你还可以指定创建的数量var users = []TUser{{Name: "test1", Password: "123", NickName: "hello1", CreatedAt: time.Now()}, {Name: "test2", Password: "123", NickName: "hello2", CreatedAt: time.Now()}}db.Create(&users)db.CreateInBatches(&users, 100)}