标签:
在Gin框架中使用GORM库时,可以通过设置日志模式来打印SQL执行语句。
下面是一个使用Gin框架和GORM库来打印SQL执行语句的示例代码:
package main
import (
"log"
"github.com/gin-gonic/gin"
"gorm.io/driver/mysql"
"gorm.io/gorm"
"gorm.io/gorm/logger"
)
type User struct {
ID uint `gorm:"primarykey"`
Name string `gorm:"size:255"`
}
func main() {
dsn := "username:password@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local" // 根据实际情况修改
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
Logger: logger.Default.LogMode(logger.Info), // 设置日志级别为Info,即打印SQL语句
})
if err != nil {
log.Fatal(err)
}
// AutoMigrate会自动同步结构体到数据库表
db.AutoMigrate(&User{})
r := gin.Default()
r.GET("/users", func(c *gin.Context) {
var users []User
db.Find(&users)
c.JSON(200, users)
})
r.Run(":8080")
}
Go
在上述示例中,通过将日志级别设置为logger.Info
来打印SQL语句。您可以根据自己的需要选择不同的日志级别,例如logger.Silent
(禁止打印)或者logger.Warn
(仅打印警告级别及以上的日志)。请根据您的实际需求进行相应的调整。
同时,您需要将示例代码中的dsn
变量替换为实际的数据库连接字符串,并根据需要进行修改。
标签: 来源:
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。