gorm快速入门

【Golang】gorm快速入门

在这里插入图片描述

推荐个人主页:席万里的个人空间

1、什么是orm?为什么用orm?

ORM(Object-relational mapping),中文翻译为对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

ORM提供了实现持久化层的另一种模式,它采用映射元数据来描述对象关系的映射,使得ORM中间件能在任何一个应用的业务逻辑层和数据库层之间充当桥梁

ORM的方法论基于三个核心原则:

  • 简单:以最基本的形式建模数据
  • 传达性:数据库结构被任何人都能理解的语言文档化
  • 精确性:基于数据模型创建正确标准化了的结构

2、gorm连接以及使用

初始化gorm:

go get -u gorm.io/gorm
go get -u gorm.io/driver/sqlite

连接本地的mysql数据库,实现一些基本的增删改查功能

package main

import (
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
	"gorm.io/gorm/logger"
	"log"
	"os"
	"time"
)

func main() {
	dsn := "root:123456@tcp(127.0.0.1:3306)/gorm_test?charset=utf8mb4&parseTime=True&loc=Local"
	newLogger := logger.New(
		log.New(os.Stdout, "\r\n", log.LstdFlags), // io writer
		logger.Config{
			SlowThreshold: time.Second, // Slow SQL threshold
			LogLevel:      logger.Info, // Log level
			Colorful:      true,        // Disable color
		},
	)
	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
		Logger: newLogger,
	})
	if err != nil {
		panic(err)
	}
	//设置全局的logger,在每次执行sql时都会打印sql语句
	_ = db.AutoMigrate(&User{})
	//创建一条记录
	db.Create(&User{Name: "jinzhu", Age: 18})
	//查询一条记录
	var user User
	db.First(&user, 1)                    // 查询id为1的product
	db.First(&user, "name = ?", "jinzhu") // 查询code为l1212的product
	//更新一条记录
	db.Model(&user).Update("Age", 20)
	//删除一条记录
	db.Delete(&user, 1)
}

type User struct {
	ID   int
	Name string
	Age  int
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

席万里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值