MICUU
微资讯
声卡
创新2024全套教程
5.1声卡全套
创新声卡驱动
板载声卡调试全套教程
Sam机架安装
Sam机架
音效助手
专题
文档
技术文档汇总
站内文档
更多
软件
更新日志
关于
装机必备
Gramos模板
光年后台模板
Betube模板
美图
友情链接
站内导航
关于
搜索
退出登录
登录
1
gin01:框架的安装及热加载
2
go gin框架文档
3
gin01-国内设置代理
4
gin03-渲染HTML
5
gin02-返回json数据
6
gin04:数据库的简单写入
7
gin05-gorm读取数据库返回查询结果到HTML
8
gin06-模板中循环
9
gin07-打包成Linux可执行文件
10
gin08-时间戳转时间字符串等
11
gin09-自定义模板函数示例
12
gin10-模板中大小判断【模板语法】
13
gin11-模板引用、模板包含并传值【模板语法】
14
gin12-打包Linux可执行文件并部署,设置release模式
15
gin13-goland打包linux可执行程序
16
上线第一个gin框架页面
原创
gin05-gorm读取数据库返回查询结果到HTML
2022-08-18
57.51w热度
   go语言有一点逻辑还是合PHP的有一点不一样的,特别是gorm包一些简单的逻辑,初次使用的时候可能会需要自己弯弯绕绕想明白理解一下。下面是一个简单的示例 main.go ``` package main //引用包文件 import ( "gin/app/model" "github.com/gin-gonic/gin" "net/http" ) type Content struct { //gorm.Model Id int `gorm:"type:int;not null",json:"id"` Title string `gorm:"type:varchar(200);not null",json:"title"` Description string `gorm:"type:varchar(1000);not null",json:"description"` Keywords string `gorm:"type:varchar(200);not null",json:"keywords"` Thumbnail string `gorm:"type:varchar(200);not null",json:"thumbnail"` ModelId int `gorm:"type:int(11);",json:"model_id"` TitleStyle string `gorm:"type:varchar(100);",json:"title_style"` CateId int `gorm:"type:int(10);",json:"cate_id"` RelHits int `gorm:"type:int(10);",json:"rel_hits"` Hits int `gorm:"type:int(10);",json:"hits"` Ordid int `gorm:"type:int(10);",json:"ordid"` AddTime int `gorm:"type:int(12);",json:"add_time"` LastTime int `gorm:"type:int(12);",json:"last_time"` Status int `gorm:"type:int(12);",json:"status"` Top int `gorm:"type:int(12);",json:"top"` HiddenInfo string `gorm:"type:varchar(1000);",json:"hidden_info"` Score string `gorm:"type:varchar(1000);",json:"score"` Recommend int `gorm:"type:int(10);",json:"recommend"` Comment string `gorm:"type:varchar(1000);",json:"comment"` Uid int `gorm:"type:int(10);",json:"uid"` Like int `gorm:"type:int(10);",json:"like"` Unlike int `gorm:"type:int(10);",json:"unlike"` Index int `gorm:"type:int(10);",json:"index"` Baijiahao int `gorm:"type:int(10);",json:"baijiahao"` IsMd int `gorm:"type:int(10);",json:"is_md"` From string `gorm:"type:varchar(100);",json:"from"` Fav int `gorm:"type:int(10);",json:"fav"` Imgs string `gorm:"type:json;",json:"imgs"` Pid int `gorm:"type:int(10);",json:"pid"` AllowComment int `gorm:"type:int(10);",json:"allow_comment"` //DeleteTime int `gorm:"column:delete_at",json:"delete_at"` // 将列名设为 //DeleteTime gorm.DeletedAt `gorm:"type:int(11);",json:"delete_time"` //DeletedTime *time.Time `sql:"index" json:"delete_time"` } func (Content) TableName() string { //config ,err := ini.Load("config/db.ini") //if err != nil { // fmt.Println("配置文件读取错误,请检查文件路径:", err) //} // //prefix := config.Section("database").Key("DbPrefix").MustString("zhe_") //绑定MYSQL表名为users //return prefix+"content" return "zhe_content" } func main() { router := gin.Default() router.LoadHTMLGlob("templates/**/*") //router.LoadHTMLFiles("templates/template1.html", "templates/template2.html") router.GET("/index", func(c *gin.Context) { c.HTML(http.StatusOK, "index/index.html", gin.H{ "title": "Main website", }) }) router.GET("/test/:id", model.ContentGetArticle) // 此 handler 将匹配 /user/john 但不会匹配 /user/ 或者 /user router.GET("/read/:id", func(c *gin.Context) { id := c.Param("id") c.HTML(http.StatusOK, "article/article.html", gin.H{ "id": id, }) }) router.Run(":8001") } ``` Content.go ``` package model import ( "fmt" "github.com/gin-gonic/gin" "gorm.io/driver/mysql" "gorm.io/gorm" ) type Content struct { //gorm.Model Id int `gorm:"type:int;not null",json:"id"` Title string `gorm:"type:varchar(200);not null",json:"title"` Description string `gorm:"type:varchar(1000);not null",json:"description"` Keywords string `gorm:"type:varchar(200);not null",json:"keywords"` Thumbnail string `gorm:"type:varchar(200);not null",json:"thumbnail"` ModelId int `gorm:"type:int(11);",json:"model_id"` TitleStyle string `gorm:"type:varchar(100);",json:"title_style"` CateId int `gorm:"type:int(10);",json:"cate_id"` RelHits int `gorm:"type:int(10);",json:"rel_hits"` Hits int `gorm:"type:int(10);",json:"hits"` Ordid int `gorm:"type:int(10);",json:"ordid"` AddTime int `gorm:"type:int(12);",json:"add_time"` LastTime int `gorm:"type:int(12);",json:"last_time"` Status int `gorm:"type:int(12);",json:"status"` Top int `gorm:"type:int(12);",json:"top"` HiddenInfo string `gorm:"type:varchar(1000);",json:"hidden_info"` Score string `gorm:"type:varchar(1000);",json:"score"` Recommend int `gorm:"type:int(10);",json:"recommend"` Comment string `gorm:"type:varchar(1000);",json:"comment"` Uid int `gorm:"type:int(10);",json:"uid"` Like int `gorm:"type:int(10);",json:"like"` Unlike int `gorm:"type:int(10);",json:"unlike"` Index int `gorm:"type:int(10);",json:"index"` Baijiahao int `gorm:"type:int(10);",json:"baijiahao"` IsMd int `gorm:"type:int(10);",json:"is_md"` From string `gorm:"type:varchar(100);",json:"from"` Fav int `gorm:"type:int(10);",json:"fav"` Imgs string `gorm:"type:json;",json:"imgs"` Pid int `gorm:"type:int(10);",json:"pid"` AllowComment int `gorm:"type:int(10);",json:"allow_comment"` //DeleteTime int `gorm:"column:delete_at",json:"delete_at"` // 将列名设为 //DeleteTime gorm.DeletedAt `gorm:"type:int(11);",json:"delete_time"` //DeletedTime *time.Time `sql:"index" json:"delete_time"` } func (Content) TableName() string { //config ,err := ini.Load("config/db.ini") //if err != nil { // fmt.Println("配置文件读取错误,请检查文件路径:", err) //} // //prefix := config.Section("database").Key("DbPrefix").MustString("zhe_") //绑定MYSQL表名为users //return prefix+"content" return "zhe_content" } func ContentGetArticle(c *gin.Context) { dsn := "root:123456@tcp(127.0.0.1:3306)/micuer20220812?charset=utf8mb4&parseTime=True&loc=Local" db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) if err != nil { fmt.Println("链接数据库错误", err) } id := c.Param("id") name := c.Query("name") content := Content{} db.Debug().Where("id = ?",id).Find(&content) fmt.Println("查询") fmt.Println(content) fmt.Println(id) fmt.Println("res数据") //c.JSON(200,gin.H{ // "res":content, // "name":name, //}) c.HTML(200,"article/article.html",gin.H{ "res":content, "name":name, }) //c.HTML(200,"article/article.html", gin.H{ // "res": content, //}) } ``` article.html ``` {{ define "article/article.html" }} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{{.id}} - 文章详情</title> </head> <body> <h1>现在是文章详情,为啥显示成了json</h1> {{.id}} <h2> {{.res.Id}} - {{.res.Title}} </h2> <h2> name {{.name}} </h2> </body> </html> {{ end }} ```
注:原创不易,转载请注明出处(
https://micuu.com/new/3011.html?special=3002
),本站所有资源来源于网络收集,如有侵权请联系QQ245557979进行清除。
最后修改与 2022-08-18
上一篇:
idea文件对比
下一篇:
专题文章详情页面简单进行优化,目前支持查看专题全部文章链接,样式的话后面再进行优化吧
留言反馈
请先登录
问题反馈渠道,如有软件无法下载或者其他问题可反馈。【由于某种原因,目前留言不展示】
用户需要登录后才能留言反馈
立即留言