Gin使用GORM进行CURD3

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

1、Gin GORM CURD3

查找

1、查找全部

go func (con UserController) Index(c *gin.Context) { user := []models.User{} //查找全部 models.DB.Find(&user) c.JSON(http.StatusOK, gin.H{ "success": true, "result": user, }) }

2、指定条件查找

go func (con UserController) Index(c *gin.Context) { user := []models.User{} //寻找userName为小燕子的 models.DB.Where("username=?", "小燕子").Find(&user) c.JSON(http.StatusOK, gin.H{ "success": true, "result": user, }) }

2、修改

go func (con UserController) Edit(c *gin.Context) { //把id=5的数据赋值给user user := models.User{Id: 5} //查询 models.DB.Find(&user) //修改名字和年龄 user.Username = "小名" user.Age = 12 //保存 models.DB.Save(&user) c.String(http.StatusOK, "Edit") }

3、删除

### 1、单条删除 go func (con UserController) Delete(c *gin.Context) { //把id=4的数据赋值给user user := models.User{Id: 4} //删除该数据 models.DB.Delete(&user) c.String(http.StatusOK, "Delete") }

2、批量删除

```go //模糊查询含有xiaoming字样的并删除 db.Where("email LIKE ?", "%xiaoming%").Delete(Email{}) // 模糊查询含有xiaofang字样的并删除 db.Delete(Email{}, "email LIKE ?", "%xiaofang%")

// 删除id>9的数据 func (con UserController) DeleteAll(c *gin.Context) { user := models.User{} models.DB.Where("id>9").Delete(&user) c.String(http.StatusOK, "DeleteAll") } ```

查询详解

1、id 固定 ```go //寻找id<3的数据 nav := []models.Nav{}

models.DB.Where("id<3").Find(&nav) c.JSON(http.StatusOK, gin.H{ "success": true, "result": nav, }) 2、id 可变 go //声明变量n,一般为获取的值,不会直接声明,为了演示方便 var n = 5 nav := []models.Nav{} // n代替问号 models.DB.Where("id>?", n).Find(&nav) c.JSON(http.StatusOK, gin.H{ "success": true, "result": nav, }) ``` 3、and :逻辑运算且,需同时满足

go var n1 = 3 var n2 = 9 nav := []models.Nav{} //时id>3 且 <9 models.DB.Where("id > ? AND id < ?", n1, n2).Find(&nav) c.JSON(http.StatusOK, gin.H{ "success": true, "result": nav, }) 4、数组,可指定批量数据查找 go nav := []models.Nav{} models.DB.Where("id in (?)", []int{3, 5, 6}).Find(&nav) c.JSON(http.StatusOK, gin.H{ "success": true, "result": nav, })

5、模糊查询:%

go nav := []models.Nav{} models.DB.Where("title like ?", "%会%").Find(&nav) c.JSON(http.StatusOK, gin.H{ "success": true, "result": nav, }) 6、between:在两数之间 go nav := []models.Nav{} models.DB.Where("id between ? and ?", 3, 6).Find(&nav) c.JSON(http.StatusOK, gin.H{ "success": true, "result": nav, })

7、or 条件:或

go nav := []models.Nav{} models.DB.Where("id=? OR id=?", 2, 3).Find(&nav) go nav := []models.Nav{} models.DB.Where("id=?", 2).Or("id=?", 3).Or("id=4").Find(&nav)

8、、选择字段查询

go nav := []models.Nav{} models.DB.Select("id, title,url").Find(&nav)

9、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值