Uso de registros de Gorm

Gorm imprime errores y SQL lento de forma predeterminada, y puede personalizar el nivel de registros que se muestran.

Agregue globalmente gorm.config

package main

import (
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
	"gorm.io/gorm/logger"
	"gorm.io/gorm/schema"
)

type Student struct {
	ID          uint
	StudentName string
	Age         int
}

var DB *gorm.DB

func init() {
	dsn := "root:7PXjAkY!&nlR@tcp(192.168.11.128:3306)/test?charset=utf8mb4&parseTime=True&loc=Local&timeout=10s"
	var mysqlLogger logger.Interface
	mysqlLogger = logger.Default.LogMode(logger.Info)

	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
		NamingStrategy: schema.NamingStrategy{
			TablePrefix:   "f_",  //表名前缀,都加上f_
			SingularTable: true,  //单数表名
			NoLowerCase:   false, //不要小写转换
		},
		SkipDefaultTransaction: true,
		Logger:                 mysqlLogger,
	})

	if err != nil {
		panic("数据库连接失败,err=" + err.Error())
	}
	//连接成功
	DB = db
}

func main() {
	DB.AutoMigrate(&Student{})
}

La segunda función de escribir registros crea una sesión y la agrega en la sesión.

package main

import (
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
	"gorm.io/gorm/logger"
	"gorm.io/gorm/schema"
)

type Student struct {
	ID          uint
	StudentName string
	Age         int
}

var DB *gorm.DB
var mysqlLogger logger.Interface

func init() {
	dsn := "root:7PXjAkY!&nlR@tcp(192.168.11.128:3306)/test?charset=utf8mb4&parseTime=True&loc=Local&timeout=10s"

	mysqlLogger = logger.Default.LogMode(logger.Info)

	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
		NamingStrategy: schema.NamingStrategy{
			TablePrefix:   "f_",  //表名前缀,都加上f_
			SingularTable: true,  //单数表名
			NoLowerCase:   false, //不要小写转换
		},
		SkipDefaultTransaction: true,
	})

	if err != nil {
		panic("数据库连接失败,err=" + err.Error())
	}
	//连接成功
	DB = db
}

func main() {
	DB := DB.Session(&gorm.Session{
		Logger: mysqlLogger,
	})
	DB.AutoMigrate(&Student{})
}

La tercera depuración

func main() {
	DB.Debug().AutoMigrate(&Student{})
}

Supongo que te gusta

Origin blog.csdn.net/qq_34556414/article/details/131765170
Recomendado
Clasificación