gorm使用教程 —— Golang(清晰、简洁思路)

直接入正题!

1. 首先新建一个类(初始化数据库)

(1)导入gorm相关包

	"gorm.io/driver/mysql"
	"gorm.io/gorm"

(2)声明两个变量,下步的方法要用(注意DB大写,任意包下go文件都可访问到)

	var DB *gorm.DB
	var err error

(3)写个方法(用于初始化数据库连接)

	func init() {
		dsn := "root:123456@tcp(127.0.0.1:3306)/sky?charset=utf8&parseTime=True&loc=Local"
		DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
		if err != nil {
			fmt.Println(err)
		}
	}

2. 创建数据库表对应实体类

(1)声明结构体并映射字段和属性 (映射举例:下面结构体的BookType属性)

	type Book struct {
		Id       int
		Name     string
		Author   string
		BookType string `gorm:"column:type"`
		Nums     int
		Status   int
	}

(2)写个方法,指定表名

	func (Book) TableName() string {
		return "book"
	}

3.开始使用gorm操作
(1)查(举例:查书)

	var bookList []models.Book
	models.DB.Where("id>30").Find(&bookList)
	c.JSON(http.StatusOK, gin.H{
		"result": bookList,
	})

(2)改(举例:改书名)(解释:先查到id为4的书然后进行修改)

	book := models.Book{Id: 40}
	models.DB.Find(&book)
	book.Name = "testUpdateData"
	models.DB.Save(&book)

(3)删 (举例:删书)(解释:同(2))

	book := models.Book{Id: 35}
	models.DB.Delete(&book)

(4)增 (举例:增书)(解释:先实例化结构体,然后传参,字段映射在此仍起作用)

	book := models.Book{
		Name:     "testGorm",
		Author:   "Me",
		BookType: "TestData",
		Nums:     999,
		Status:   0,
	}
	models.DB.Create(&book)

关于gorm的快速入门到此结束

注意:

  1. 关于gorm相关包中的表操作方法还有Where等,在此不再说明,容易上手,可去文档查阅
  2. 以上举例,我的文件目录如下:在这里插入图片描述
    (1)book.go
package models

/**
*
* @author yth
* @language go
* @since 2022/11/12 14:42
 */

type Book struct {
	Id       int
	Name     string
	Author   string
	BookType string `gorm:"column:type"`
	Nums     int
	Status   int
}

func (Book) TableName() string {
	return "book"
}

(2)core.go

package models

import (
	"fmt"
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

/**
*
* @author yth
* @language go
* @since 2022/11/12 14:33
 */

var DB *gorm.DB
var err error

func init() {
	dsn := "root:123456@tcp(127.0.0.1:3306)/sky?charset=utf8&parseTime=True&loc=Local"
	DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err != nil {
		fmt.Println(err)
	}
}

你可能感兴趣的:(golang,go,数据库,后端)