栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

go学习 --- gorm查询

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

go学习 --- gorm查询

一、条件查询
package main

import (
	"fmt"
	"github.com/jinzhu/gorm"
	_ "github.com/jinzhu/gorm/dialects/mysql"
)

//创建映射结构体
type User struct {
	//gorm.Model框架自带的结构体
	gorm.Model
	Name string
	Age  int64
}

func main() {
	//连接数据库
	db, err := gorm.Open("mysql", "root:123456@(localhost:3306)/db01?charset=utf8mb4&parseTime=True&loc=Local")
	if err != nil {
		fmt.Println("open err:", err)
		return
	}
	//关闭连接
	defer db.Close()
	//与数据表进行关联
	//db.AutoMigrate(&User{})
	//创建数据
	//user := User{Name: "小明", Age: 15}
	//db.Create(&user)
	//user1 := User{Name: "小红", Age: 16}
	//db.Create(&user1)
	//定义一个结构体变量用于接收数据
	var u User
	//查询数据库的数据第一条记录
	db.First(&u)
	fmt.Println("第一条记录为:",u)
	//随机获取一条记录
	var u1 User
	db.Take(&u1)
	fmt.Println("随机数据为:",u1)
	//查询最后一条记录
	var u2 User
	db.Last(&u2)
	fmt.Println("最后一条数据为:",u2)
	//查询所有数据
	var u3 []User
	db.Find(&u3)
	fmt.Println("所有的数据为:",u3)
	//指定查询的数据(根据主键)
	var u4 User
	db.First(&u4,1)
    fmt.Println("根据主键id查询的数据为:",u4)
	//条件查询第一条记录
	var u5 User
	db.Where("name = ?","小明").First(&u5)
	fmt.Println("根据名字查询的第一条记录:",u5)
	//条件查询所有记录 <>不等于
	var u6 []User
	db.Where("name<>?","小明").Find(&u6)
	fmt.Println("查询所有的记录为:",u6)
	//条件查询所有记录 in
	var u7 []User
	db.Where("name IN(?)",[]string{"小明"}).Find(&u7)
	fmt.Println("查询所有为条件的记录:",u7)
	//条件模糊查询
	var u8 []User
	db.Where("name like ?","%小明%").Find(&u8)
	fmt.Println("模糊查询的记录为:",u8)
	//and
	var u9 []User
	db.Where("name = ? and age < ?","小红","22").Find(&u9)
	fmt.Println("查询条件范围内的为:",u9)
	//结构体查询
	var u10 []User
	db.Where(&User{Name: "小明",Age: 15}).Find(&u10)
	fmt.Println("根据结构体查询的数据为:",u10)
	//map查询
	var u11 []User
	db.Where(map[string]interface{}{"name":"小红","age":16}).Find(&u11)
	fmt.Println("map查询的结果为:",u11)
	//切片查询,根据主键id
	var u12 []User
	db.Where([]int64{1,2}).Find(&u12)
	fmt.Println("切片查询的结果为:",u12)
}

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/908431.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号