gin目录结构

###Gin项目目录结构

├── gin
│   ├──  Router
│          └── router.go
│   ├──  Middlewares
│          └── corsMiddleware.go
│   ├──  Controllers
│          └── testController.go
│   ├──  Services
│          └── testService.go
│   ├──  Models
│          └── testModel.go
│   ├──  Databases
│          └── mysql.go
│   ├──  Sessions
│          └── session.go
└── main.go
  • 使用gorm访问数据库
  • gin 为项目根目录
  • main.go 为入口文件
  • Router 为路由目录
  • Middlewares 为中间件目录
  • Controllers 为控制器目录(MVC)
  • Services 为服务层目录,这里把DAO逻辑也写入其中,如果分开也可以
  • Models 为模型目录
  • Databases 为数据库初始化目录
  • Sessions 为session初始化目录
  • 文件 引用顺序 大致如下:
    main.go(在main中关闭数据库) - router(Middlewares) - Controllers - Services(sessions) - Models - Databases
  • Databases / mysql
package Mysql

import (
    "github.com/jinzhu/gorm"
    _ "github.com/jinzhu/gorm/dialects/mysql"
    "fmt"
)

var DB *gorm.DB

func init()  {
   
    var err error
    DB, err = gorm.Open("mysql", "wuyu:MIDSUMMERfish0@/gin?charset=utf8&parseTime=True&loc=Local")
    if err != nil {
   
        fmt.Printf("mysql connect error %v", err)
    }
    if DB.Error != nil {
   
        fmt.Printf("database error %v", DB.Error)
    }
}
  • Models / testModel.go
package Models

import (
    "gin/Databases"
)

type Test struct {
   
    Id int
    Testcol string `gorm:"column:testcol"`
}

// 设置Test的表名为`test`
// func (Test) TableName() string {
   
//     return "test"
// }

func (this *Test) Insert() (id int, err error) {
   
    result 
  • 8
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值