Open main menu
首页
专栏
课程
分类
归档
Chat
Sci-Hub
谷歌学术
Libgen
GitHub镜像
登录/注册
搜索
搜索
关闭
Previous
Previous
Next
Next
## 1.数据库初始化 上一节讲了模型的定义,但是没有讲数据库的操作,数据库的连接,没办法看出效果,这一节开始前先对数据库进行初始化。 - 定义数据库配置信息 conf/database.ini ```ini [mysql] host=127.0.0.1 port=3306 database=test username=root password=root ``` - 定义数据库配置文件 pkg/config/database.go ```go package config import ( "cn.sockstack/gin_demo/pkg/helper" "gopkg.in/ini.v1" ) var Mysql *mysql type mysql struct { Host string `ini:"host"` Port int `ini:"port"` Database string `ini:"database"` Username string `ini:"username"` Password string `ini:"password"` source *ini.File } func (s *mysql) Load(path string) *mysql { var err error //判断配置文件是否存在 exists, err := helper.PathExists(path) if !exists { return s } s.source, err = ini.Load(path) if err != nil { panic(err) } return s } func (s *mysql)Init() *mysql { //判断配置是否加载成功 if s.source == nil { return s } //这里直接把配置映射到结构体 err := s.source.Section("mysql").MapTo(s) if err != nil { panic(err) } return s } ``` - 测试配置 pkg/config/database_test.go ```go package config import ( "fmt" "testing" ) func TestMysql(t *testing.T) { Mysql = (&mysql{}).Load("../../conf/database.ini").Init() fmt.Println(Mysql) if Mysql == nil { t.Fail() } } ```
登录查看更多内容
【Gin实战系列】数据库操作
作者
sockstack
许可协议
CC BY 4.0
发布于
2023-09-02
修改于
2023-09-02
尚未登录
登录 / 注册
专栏目录
【Gin实战系列】快速入门
【Gin实战系列】项目结构
【Gin实战系列】项目配置
【Gin实战系列】控制器于路由
【Gin实战系列】请求参数处理
【Gin实战系列】校验错误信息
【Gin实战系列】服务编写
【Gin实战系列】模型定义
【Gin实战系列】数据库操作
【Gin实战系列】请求响应处理
【Gin实战系列】统一结构响应处理
【Gin实战系列】中间件使用
【Gin实战系列】日志使用
【Gin实战系列】cookie处理
【Gin实战系列】session处理
【Gin实战系列】模板渲染
【Gin实战系列】实例:密码加密
【Gin实战系列】实例:登录注册
【Gin实战系列】jwt身份认证
【Gin实战系列】使用 swagger 文档
【Gin实战系列】实例:文件上传