不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • GO基础

  • 面向对象

  • 并发编程

  • 常用库

  • 数据库操作

  • Beego框架

  • Beego商城

    • 01.项目分析
    • 02.初始化项目结构
    • 03.mysql配置和model
      • 01.配置数据库连接
        • 1.1 创建数据库
        • 1.2 配置mysql参数
        • 1.3 建立数据库链接
        • 1.4 关闭数据库链接
      • 02.定义数据库模型
        • 2.1 models/user.go
        • 2.2 自动创建表
    • 04.管理员管理
    • 05.验证码与登录和session
    • 06.RBAC实现流程
    • 07.RBAC管理模块
    • 08.RBAC判断权限
  • GIN框架

  • GIN论坛

  • 微服务

  • 设计模式

  • Go
  • Beego商城
xiaonaiqiang
2021-05-27
目录

03.mysql配置和model

# 01.配置数据库连接

# 1.1 创建数据库

mysql> create database beegosc charset utf8;
1

# 1.2 配置mysql参数

mysqladmin="root"
mysqlpwd="chnsys@2016"
mysqldb="beegosc"
1
2
3

# 1.3 建立数据库链接

  • models/core.go
package models
import (
	"github.com/astaxie/beego"
	"github.com/jinzhu/gorm"
	_ "github.com/jinzhu/gorm/dialects/mysql"
)

var DB *gorm.DB
var err error

func init() {
	//和数据库建立连接
	// DB, err = gorm.Open("mysql", "root:123456@/beego?charset=utf8&parseTime=True&loc=Local")
	mysqladmin := beego.AppConfig.String("mysqladmin")
	mysqlpwd := beego.AppConfig.String("mysqlpwd")
	mysqldb := beego.AppConfig.String("mysqldb")
	DB, err = gorm.Open("mysql", mysqladmin+":"+mysqlpwd+"@/"+mysqldb+"?charset=utf8&parseTime=True&loc=Local")
	if err != nil {
		beego.Error(err)
	}
	DB.LogMode(true)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# 1.4 关闭数据库链接

  • main.go
package main
import (
	"beegogorm/models"
	_ "beegogorm/routers"
	"github.com/astaxie/beego"
)

func main() {
	beego.Run()
	defer models.DB.Close() //关闭数据库连接
}
1
2
3
4
5
6
7
8
9
10
11

# 02.定义数据库模型

# 2.1 models/user.go

package models

import (
	_ "github.com/jinzhu/gorm"
)

type User struct {
	Id       int
	Phone    string
	Password string
	AddTime  int
	LastIp   string
	Email    string
	Status   int
}

func (User) TableName() string {
	return "user"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 2.2 自动创建表

  • 注意:GORM 的AutoMigrate函数,仅支持建表,不支持修改字段和删除字段,避免意外导致丢失数据。
  • GORM更多用法 (opens new window)
  • models/core.go
func init() {
    // 创建表
    DB.CreateTable(&User{})     // 根据User结构体建表
    DB.Set("gorm:table_options", "ENGINE=InnoDB").CreateTable(&User{})  // 设置表结构的存储引擎为InnoDB
}
1
2
3
4
5
上次更新: 2024/3/13 15:35:10
02.初始化项目结构
04.管理员管理

← 02.初始化项目结构 04.管理员管理→

最近更新
01
04.数组双指针排序_子数组
03-25
02
08.动态规划
03-25
03
06.回溯算法
03-25
更多文章>
Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式