Gorm

使用 gin 和 gorm 编写一个练手项目 todolist

1. 项目截图 2. 项目中用到的技术 2.1. gin 框架 Gin Web Framework - 中文文档 Gin框架介绍及使用 2.2. gorm (Golang语言的ORM库 ) GORM 指南 2.3. 前端画面 主要是原生的 html css JavaScript,以及引入了 JQue ......
todolist 项目 gorm gin

GORM无法映射到结构体上

type StrategyAction1 struct { ID int64 `json:"id"` //编号 Pushtype string `json:"pushtype"` //推送类型 } type StrategyAction2 struct { ID int64 `json:"id"` ......
结构 GORM

gorm的First、Find、Raw与Scan

使用First,Take,Last 进行单条查找,First根据主键正序,Last 根据主键倒序 Find查询结果是列表,First查询的是单条数据。 Raw 中文:原生的 作用:在写gorm语句时候用来写Raw sql语句(原生sql语句) 在使用Raw自定义SQL查询时,使用Scan来接收数据, ......
First gorm Find Scan Raw

Gorm实现数据库增删查改——mysql篇

## 本文的目标 本文力图实现用简短的篇幅,结合一些具体的应用场景来讲述gorm基本的增删查改功能。 ## Gorm介绍 在现代软件开发中,数据库操作是构建应用程序不可或缺的一部分。 GORM是Go语言的一个ORM(Object Relational Mapping)库。它可以让我们通过Go来操作数 ......
数据库 数据 mysql Gorm

如何使用goconvey对gin+gorm+mysql搭建的后台进行集成测试

集成测试对于项目的质量和稳定性非常重要。那么如何实现一个基于真实数据库的测试流程呢?首先,我们需要创建一个专门用于测试的数据库。比如,我自己使用的是以"test_"开头的数据库名。 ```go // 创建测试数据库 func SetupForTest() (err error) { db, err ......
后台 goconvey mysql gorm gin

每日一库:GORM简介

GORM(Go Object-Relational Mapping)是一个用于Go语言的ORM库,它提供了一种简单、优雅的方式来操作数据库。GORM支持多种数据库,包括MySQL、PostgreSQL、SQLite和SQL Server。以下是GORM的一些主要特性: 1. **全功能ORM**:G ......
简介 GORM

gorm使用Save方法处理时间字段的坑

视频地址 Gorm中Save方法处理时间字段的坑 测试代码以及说明 package gorm_tests import ( "fmt" "github.com/stretchr/testify/require" "gorm.io/driver/mysql" "gorm.io/gorm" "testi ......
字段 时间 方法 gorm Save

go语言gorm的CRUD

插入 如果表不存在,则插入失败 type Student struct { ID int // 缺省主键bigint AUTO_INCREMENT Name string `gorm:"size:48"` //`gorm:"not null;type:varchar(48);comment:姓名"` ......
语言 gorm CRUD

go语言gorm

ORM 对象关系映射(Object Relational Mapping,ORM)。指的是对象和关系之间的映射,使用面向对象的 方式操作数据库。 关系模型和Go对象之间的映射 table => struct ,表映射为结构体 row => object ,行映射为实例 column => prope ......
语言 gorm

Gorm中查询是否返回recordNotFound的情况总结

代码 package gorm_tests import ( "fmt" "github.com/gogf/gf/util/gconv" "github.com/stretchr/testify/require" "gorm.io/driver/mysql" "gorm.io/gorm" "test ......
recordNotFound 情况 Gorm

五、Gorm

5.1、gorm介绍 是当今比较热门的 golang 的 orm 操作数据库的工具,使用上主要是把 struct 类和数据库表进行映射,操作数据库时无需手写 sql。本质就是提供一组函数来帮助我们快速拼接 sql 语句,尽量减少 sql 的编写。 gorm文档和gorm中文文档 安装包: go ge ......
Gorm

关于 golang 的 Gorm 中钩子函数的示例

#### https://gorm.io/zh_CN/docs/hooks.html ```go // Hook 是在创建、查询、更新、删除等操作之前、之后调用的函数 // 若已经为模型定义了上述相关方法,则会在创建、更新、查询、删除时被自动调用 // 若任何回调返回错误,则停止后续操作并回滚事务 ......
钩子 示例 函数 golang Gorm

使用 GORM 进行软删除和硬删除

目录结构: 软删除 在 GORM 中使用软删除 删除已经被标记为已删除的记录 硬删除 在 GORM 中使用硬删除 永久删除已经被标记为已删除的记录 软删除 在 GORM 中,软删除(soft delete)是指将记录标记为已删除,而不是从数据库中永久删除记录。软删除可以保留已删除记录的历史记录,同时 ......
GORM

Gorm一对一,一对多,查询报错 unsupported relations for schema

# Gorm一对一,一对多,搞我半天bug 标签(空格分隔): go,gorm 问题:一对一,一对多,查询数据报错:unsupported relations for schema 代码 // GoodsSpecificationAttrModel 商品规格-属性表 type GoodsSpecif ......
一对一 unsupported relations schema Gorm

11-gorm-V2-02-创建数据

@[toc] # 1. 简单示例 ```go db.Create(&liuBei) ``` - 完整示例 ```go package main import ( "database/sql" "fmt" "gorm.io/driver/mysql" "gorm.io/gorm" "time" ) t ......
数据 gorm-V gorm 11 02

11-gorm-v2-03-基本查询

@[toc] # 1. 简单示例 >从一个示例开始说明 - 以有表格如下 ```sql mysql> select * from xi_shu; + + + + | id | name | age | + + + + | 1 | LiuBei | 28 | | 2 | GuanYu | 22 | | ......
gorm-v gorm 11 03

11-gorm-V2-04-高级查询

@[toc] # 1. 用Struct或Map接收数据 ## 1.1 Find到Struct 定义一个小的结构体来接收表中的查询结果 ```go db.Model(User{}).Find(&UserModels) ``` - 完整示例 已有数据表 ```sql mysql> select * fr ......
gorm-V gorm 11 04

【mysql】parseTime=true 参数说明以及如何在 GORM 中使用它避免 Scan error on column...: unsupported Scan 错误的方法。

什么是 parseTime=true 参数 parseTime=true 是一个 MySQL 数据库连接参数,它告诉 MySQL 驱动程序将日期时间类型的值解析为 time.Time 类型。在 MySQL 中,日期时间类型的值可以表示为字符串,例如 2022-07-01 13:30:00。默认情况下 ......
Scan unsupported parseTime 错误 参数

【gorm】常见问题解决方案

1、在使用gorm访问数据后,隔一段时间请求接口,则输出 invalid connection ? 这是因为数据连接数据库后,并没有在访问后立即执行close();而mysql中有相关配置,当超时后,主动关闭服务,导致下次访问mysql出现以上错误。 SHOW VARIABLES LIKE '%ti ......

casbin + gin + gorm

实际项目中肯定要用rbac这种权限模型,因此model使用如下 ###### rbac_model.conf ``` [request_definition] r = sub, obj, act [policy_definition] p = sub, obj, act [role_definiti ......
casbin gorm gin

gorm 出现报错 "invalid connection"

看到 wait_timeout = 28800 ,也就是8小时,那么一个8小时内没有数据库操作的话,数据库就会关闭连接。 db.DB().SetConnMaxLifetime(time.Hour*4) //括号里面是超时时间,要小于数据库的超时时间 ......
quot connection invalid gorm

解决gorm安装报错

报错: go: module grom.io/gorm: Get "https://proxy.golang.org/grom.io/gorm/@v/list": dial tcp 142.251.43.17:443: connectex: A connection attempt failed b ......
gorm

Gorm 处理时间为string类型

# Gorm 处理时间为string类型 标签(空格分隔): go,gorm package _type import ( "database/sql/driver" "fmt" "time" ) type TimeString time.Time func (s *TimeString) Mars ......
类型 时间 string Gorm

gorm的使用

当涉及到数据库操作时,Golang 中的 GORM 是一个非常流行的 ORM(对象关系映射)库。它提供了简洁而强大的 API,使得数据库操作变得更加容易和高效。在本篇技术分享文章中,我们将探讨 GORM 的一些核心功能和用法。 1. 安装和初始化 首先,我们需要安装 GORM。在终端中运行以下命令: ......
gorm

使用gorm进行数量统计【limit、offset对count的统计的影响】

limit、offset对count的统计的影响 错误示例1:请注意,如下例子中,Count放在了最后面,查询时,count方法也会加上Limit和offset这两个语句: global.DB.Limit(10).Offset(2).Find(&users).Count(&total) 错误示例2: ......
数量 offset count limit gorm

Gorm - sql查询某个字段为空时赋默认值

场景:查询时报错 err {"error": "sql: Scan error on column index 0, name \"mobile\": converting NULL to string is unsupported"} 总结: 根据项目需要,在数据库查询时,可能需要对查询结果进行封 ......
字段 Gorm sql

GORM支持的全部标签

column: 指定数据库中的字段名,例如:column:name。type: 指定数据库中的字段类型,例如:type:varchar(255)。size: 指定字段的大小,例如:size:255。primaryKey: 指定该字段为主键,例如:primaryKey。autoIncrement: 指 ......
标签 GORM

gorm 版本对比

两个版本 github.com/jinzhu/gorm v1.9.16 gorm.io/gorm v1.21.3 Open // jinzhu func Open(dialect string, args ...interface{}) (db *DB, err error) {} // grom. ......
版本 gorm

Gorm - 链式执行输出执行的SQL【gorm io版本】

在GROM使用链式操作过程中,我们想要知道最终执行的SQL是什么,本文讲解三种常见的SQL日志打印方法。 一、全局打印所有的SQL 在gorm.io版本中,我们可以在建立连接时指定打印info级别的sql。 import ( "time" "gorm.io/driver/mysql" "gorm.i ......
版本 Gorm gorm SQL

Gorm使用的一些经验--如何彻底删除一条数据

中文文档:https://gorm.io/zh_CN/ 我们知道,在使用gorm的时候,如果我们使用了gorm内置的model,会存在一个delete_at字段,当我们删除一条数据,这条数据并不会在数据库中被彻底删除 举个例子: 数据库中的数据如下: 现在通过实现的接口,去删除id=402的数据,在 ......
经验 数据 Gorm