当前位置: 首页 > news >正文

gorm框架实现基本的增删改查

连接数据库

package mainimport ("github.com/jinzhu/gorm"_ "github.com/jinzhu/gorm/dialects/mysql"
)func main() {db, err := gorm.Open("mysql","root:root@tcp(127.0.0.1:3306)/test?charset=utf8mb4&parseTime=True&loc=Local",)if err != nil {panic(err)}defer db.Close()db.DB().SetMaxIdleConns(10)db.DB().SetMaxOpenConns(100)
}

创建表

package mainimport ("github.com/jinzhu/gorm"_ "github.com/jinzhu/gorm/dialects/mysql"
)type User struct {Id   int    `json:"id"`Name string `json:"name"`Age  int    `json:"age"`
}func main() {db, err := gorm.Open("mysql","root:root@tcp(127.0.0.1:3306)/test?charset=utf8mb4&parseTime=True&loc=Local",)if err != nil {panic(err)}defer db.Close()db.DB().SetMaxIdleConns(10)db.DB().SetMaxOpenConns(100)db.AutoMigrate(&User{})
}

新增数据

package mainimport ("github.com/jinzhu/gorm"_ "github.com/jinzhu/gorm/dialects/mysql"
)type User struct {Id   int    `json:"id"`Name string `json:"name"`Age  int    `json:"age"`
}func main() {db, err := gorm.Open("mysql","root:root@tcp(127.0.0.1:3306)/test?charset=utf8mb4&parseTime=True&loc=Local",)if err != nil {panic(err)}defer db.Close()db.DB().SetMaxIdleConns(10)db.DB().SetMaxOpenConns(100)u1 := &User{1, "张三", 23}db.Create(u1)
}

查找数据

package mainimport ("fmt""github.com/jinzhu/gorm"_ "github.com/jinzhu/gorm/dialects/mysql"
)type User struct {Id   int    `json:"id"`Name string `json:"name"`Age  int    `json:"age"`
}func main() {db, err := gorm.Open("mysql","root:root@tcp(127.0.0.1:3306)/test?charset=utf8mb4&parseTime=True&loc=Local",)if err != nil {panic(err)}defer db.Close()db.DB().SetMaxIdleConns(10)db.DB().SetMaxOpenConns(100)var uu Userdb.Find(&uu, "name=?", "张三")fmt.Printf("%#v\n", uu)
}

修改数据

package mainimport ("fmt""github.com/jinzhu/gorm"_ "github.com/jinzhu/gorm/dialects/mysql"
)type User struct {Id   int    `json:"id"`Name string `json:"name"`Age  int    `json:"age"`
}func main() {db, err := gorm.Open("mysql","root:root@tcp(127.0.0.1:3306)/test?charset=utf8mb4&parseTime=True&loc=Local",)if err != nil {panic(err)}defer db.Close()db.DB().SetMaxIdleConns(10)db.DB().SetMaxOpenConns(100)var user = User{Id: 1}db.Model(&user).Update("name", "李四")fmt.Printf("%#v\n", user)var uu Userdb.Find(&uu, "id=?", 1)fmt.Printf("%#v\n", uu)
}

删除数据

package mainimport ("fmt""github.com/jinzhu/gorm"_ "github.com/jinzhu/gorm/dialects/mysql"
)type User struct {Id   int    `json:"id"`Name string `json:"name"`Age  int    `json:"age"`
}func main() {db, err := gorm.Open("mysql","root:root@tcp(127.0.0.1:3306)/test?charset=utf8mb4&parseTime=True&loc=Local",)if err != nil {panic(err)}defer db.Close()db.DB().SetMaxIdleConns(10)db.DB().SetMaxOpenConns(100)var user = User{Id: 1}db.Delete(&user)fmt.Printf("%#v\n", user)var uu Userdb.Find(&uu, "id=?", 1)fmt.Printf("%#v\n", uu)
}
http://www.lryc.cn/news/413104.html

相关文章:

  • AUTOSAR介绍
  • 10. 计算机网络HTTP协议
  • “职场中,不要和上司作对”,真的很重要吗?你认同这句话吗?
  • 可视化目标检测算法推理部署(一)Gradio的UI设计
  • 【PyTorch】基于YOLO的多目标检测项目(一)
  • spring boot 实现 Stream 钉钉事件订阅
  • 基于 Rough.js 的 Vue 散点图绘制
  • 【c++】用c++指针传递来模拟“靶向治疗”
  • 如何开启idea中的断言功能?
  • 大模型之语言大模型技术
  • 浮点数例外 (核心已转储) 的问题记录
  • Vite项目中根据不同打包命令配置不同的后端接口地址,proxy解决跨域
  • Java新手启航:JDK 21 版本安装,开启编程之行
  • Redis学习[5] ——Redis过期删除和内存淘汰
  • 书生大模型学习笔记 - Python
  • spring security和核心流程
  • JavaScript青少年简明教程:面向对象编程入门
  • 电话号的标准
  • 项目实战_表白墙(升级版)
  • 创意无限:11个设计圈热议的UI设计灵感网站集锦
  • C# Solidworks二次开发------综合小设计-1
  • nginx rtmp服务器搭建
  • 打卡第31天------贪心算法
  • jenkins服务器重启,构建记录消失
  • Linux系统部分问题处理方案
  • C语言指针与数组
  • Stream 33
  • 【Python Loguru】实现日志工具和日志饶接
  • 【Linux】-----进度条小程序
  • 普通人有必要学Python吗?学了之后能做什么?