golang使用gorm操作mysql1

1.mysql连接配置

package daoimport ("fmt""gorm.io/driver/mysql""gorm.io/gorm""gorm.io/gorm/logger"
)var DB *gorm.DB// 连接数据库,启动服务的时候,init方法就会执行
func init() {username := "root"         //账号password := "123456" //密码host := "127.0.0.1"        //数据库地址,可以是IP或者域名port := 3306               //数据库端口Dbname := "ry"        //数据库名dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8&parseTime=True&loc=Local", username, password, host, port, Dbname)db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{Logger: logger.Default.LogMode(logger.Info),})if err != nil {panic("连接数据库失败,原因:" + err.Error())}DB = db
}

2.数据库操作 业务类

package daoimport "log"type User struct {//主键//ID int32//通过在字段后面的标签来定义golang字段和表字段的关系//例如:`gorm:"column:username"` 标签说明含义是:Mysql表的列名(字段名)为 usernameUserName   string `gorm:"column:user_name"`NickName   string `gorm:"column:nick_name"`//CreateTime int64  `gorm:"column:create_time"` //创建时间,时间戳
}// 映射表名
func (user User) TableName() string {return "sys_user"
}func SaveUser(user *User) {//新增err := DB.Create(user).Errorif err != nil {log.Println("新增用户失败,原因:", err)}
}func GetUserById(id string) User {var user Usererr := DB.Where("id = ?", id).First(&user).Errorif err != nil {log.Println("查询用户失败,原因:", err)}return user
}

3.接口请求

package controllerimport ("gin/dao""github.com/gin-gonic/gin"//"time"
)func SaveUser(context *gin.Context)  {//创建用户的实例user := &dao.User{UserName:   "苏冬雪",NickName:   "123456",//CreateTime: time.Now().UnixMilli(),}//执行保存dao.SaveUser(user)context.JSON(200, user)
}

4.接口请求

5.数据库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/496331.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【virtual Box】功能速通:安装 Windows 和 Ubuntu

文章目录 一、虚拟机1.1 概述1.2 virtual box概述 二、新建虚拟机、删除、注册三、虚拟机内部设置3.1 安装增强功能驱动3.2 分辨率问题3.3 网络链接方式 一、虚拟机 1.1 概述 虚拟机(Virtual Machine,VM)是一种软件实现的计算机系统&#x…

EMR StarRocks实战——Mysql数据实时同步到SR

文章摘抄阿里云EMR上的StarRocks实践:《基于实时计算Flink使用CTAS&CDAS功能同步MySQL数据至StarRocks》 前言 CTAS可以实现单表的结构和数据同步,CDAS可以实现整库同步或者同一库中的多表结构和数据同步。下文主要介绍如何使用Flink平台和E-MapRed…

【appium】App类型、页面元素|UiAutomator与appium|App元素定位

目录 一、App前端基础知识 1、App类型划分 2、App类型对比 3、App页面元素 App页面元素分为布局和控件两种 常见布局: 常见控件:定位软件:appium和sdk自带的uiautomatorviewer都可以定位 二、App元素定位 1、id定位 2、text定位 3…

Pytorch添加自定义算子之(5)-配置GPU形式的简单add自定义算子

参考:https://zhuanlan.zhihu.com/p/358778742 一、头文件 命名为:add2.h void launch_add2(float *c,const float *a,const float *b,int n);

docker desktop windows 下载

下载地址 xDocker: Accelerated Container Application Development 安装步骤:下一步,下一步即可

全面升级!Apache HugeGraph 1.2.0版本发布

图数据库以独特的数据管理和分析能力,在企业数智化转型的过程中正在成为数据治理的核心,根据IDC调研显示,95%的企业认为图数据库是重要的数据管理工具,超过65%的厂商认为在业务上图数据库优于其他选择,尤其是在金融风控…

Sentinel实战(待完善)

目录 服务雪崩 什么是服务雪崩 服务不可用原因 解决方案 技术选型对比 Sentinel 介绍 优点 核心概念 资源 规则 代码实战 API实现 SentinelResource注解埋点实现 服务雪崩 什么是服务雪崩 在服务调用链路中, 服务提供者不可用, 导致服务调用者不可用, 间接让上上游…

Day03:Web架构OSS存储负载均衡CDN加速反向代理WAF防护

目录 WAF CDN OSS 反向代理 负载均衡 思维导图 章节知识点: 应用架构:Web/APP/云应用/三方服务/负载均衡等 安全产品:CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等 渗透命令:文件上传下载/端口服务/Shell反弹等 抓包技术&#xff1a…

面试数据库篇(mysql)- 10事务中的隔离性是如何保证

锁:排他锁(如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁mvcc : 多版本并发控制MVCC 全称 Multi-Version Concurrency Control,多版本并发控制。指维护一个数据的多个版本,使得读写操作没有冲突 MVCC的具体实现,主要依赖于数据库记录中的隐式字段…

unity shaderGraph实例-物体线框显示

文章目录 本项目基于URP实现一,读取UV网格,由自定义shader实现效果优缺点效果展示模型准备整体结构各区域内容区域1区域2区域3区域4shader属性颜色属性材质属性后处理 实现二,直接使用纹理,使用默认shader实现优缺点贴图准备材质准…

C语言题目:求两个数二进制中不同位的个数

题目: 求两个数二进制中不同位的个数 样例 编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子: 1999 2299 输出例子:7 牛客网链接: 求两个数二进制中不同位的…

MySQL:常用的SQL语句

提醒:设定下面的语句是在数据库名为 db_book执行的。 一、创建表 1. 创建t_booktype表 USE db_book; CREATE TABLE t_booktype(id INT AUTO_INCREMENT, bookTypeName VARCHAR(20),bookTypeDesc varchar(200),PRIMARY KEY (id) );2. 创建t_book表 USE db_book; C…