21 04 2022

    第二十一章、GORM

        一、ORM介绍

            1.1 Gin框架简介

            中文官方文档:https://gorm.io/zh_CN/

            GORM是Golang目前比较热门的数据库ORM操作库,对开发者也比较友好,使用非常方便简单,使用上主要就是把struct类型和数据库表记录进行映射,操作数据库的时候不需要直接手写Sql代码,这里主要介绍MySQL数据库。

                image.png

            1.2 安装

            go get gorm.io/gorm                 安装最新版本  go get -u gorm.io/gorm

            go get  gorm.io/driver/sqlite      安装最新版本  go get -u gorm.io/driver/sqlite


            1.3 ORM优缺点

            优点:提高开发效率

            缺点:牺牲执行性能、牺牲灵活性、弱化了开发者的SQL能力


        二、CURD操作

            2.1 链接数据库

            image.png


            image.png


            image.png


            2.2 创建记录

            image.png

            image.png

            用指定的字段创建记录

            image.png

            创建一个记录且忽略传递的字段值,创建结构体中 Omit()没有指定的字段值

            image.png

            批量插入数据,将一个slice传给Create方法,GORM会生成一条单独的SQL语句插入所有数据,并填写回主键的值,钩子方法也会被调用

            image.png

            分批插入数据

            image.png

            image.png


            2.3 默认值

            image.png

            案例演示:

            image.png

            image.png


            2.4 查询

            image.png

            image.png

            


            1.5 约定

            GORM 倾向于约定,而不是配置。默认情况下,GORM 使用 ID 作为主键,使用结构体名的 蛇形复数 作为表名,字段名的 蛇形 作为列名,并使用 CreatedAtUpdatedAt 字段追踪创建、更新时间

            遵循 GORM 已有的约定,可以减少您的配置和代码量。如果约定不符合您的需求,GORM 允许您自定义配置它们