GoWeb - GORM

本文介绍了如何在GoWeb项目中使用GORM库进行数据库操作,包括启动和连接本地或远程的MySQL数据库,GORM模型定义,创建、查询、更新和删除记录。内容涵盖了从启动Docker容器到执行数据库操作的详细步骤,并强调了GORM在ORM中的优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GORM

GORM : Object Relational Mapping

对象:程序中的对象、实例,如结构体

关系:关系数据库,例如MySQL

数据表;结构体

数据行:结构体实例

字段:结构体字段

ORM的优点在于提高开发效率

缺点:牺牲执行能力,牺牲灵活性以及弱化SQL能力

11.1 在本地或远程启动并连接数据库

11.1.1 启动服务器和Docker

ssh root@xxx

systemctl start docker //启动docker

11.1.2 使用容器启动MySQL

docker run -d -p 80:80 docker/getting-started //启动docker
docker run --name mysql -e MYSQL_ROOT_PASSWORD=xxx, -p 3301:3306  -d mysql //启动容器
docker exec -it 8b4545118c60  /bin/bash //进入容器
mysql -u root -p //

mysql -u root -p   
Enter password:  //输入密码则会看到连接成功
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 8.0.28 MySQL Community Server - GPL

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

11.1.3 数据库操作

CREATE DATABASE db1; //创建数据库
show databases; //查看看数据库是否创建成功
use db1; //使用数据库
show tables;//查看数据库中的数据表

11.2 使用GORM连接数据库

import (
	"github.com/jinzhu/gorm"                  //引入gorm
	_ "github.com/jinzhu/gorm/dialects/mysql" //匿名引入mysql驱动,不直接使用,而是使用其内部一些初始化函数
)

//定义一个结构体(在数据库中对应一个表)

type UserInfo struct {
	ID     int
	Name   string
	Gender string
	Hobby  string
}

func main() {
	//连接数据库
	//注意书写用户名、密码、主机名称、端口号以及数据库名称
	db, err := gorm.Open("mysql", "root:xxx@tcp(xxx:3301)/db1?charset=utf8mb4&parseTime=True&loc=Local")
	if err != nil {
		panic(er
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值