db

package
v1.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 19, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

README

Mysql 操作工具

gotool Mysql 操作工具以 gorm https://gorm.io/zh_CN/docs 为基础进行了基于连接池的封装,使用更加便利~

配置数据库

请打开( 不存在则创建 ) ./config.ini,添加或修改如下配置 :

# Mysql 数据库设置
[Mysql]
Host=tcp(127.0.0.1:3306)
User=root
Password=root
ConnMaxLifetime=60
MaxOpenConns=100
MaxIdleConns=50
TableName=lesscode
TablePrefix=t_
Charset=utf8mb4
多个数据库配置

请打开( 不存在则创建 ) ./config.ini,添加或修改如下配置 :

# Mysql 数据库设置
[Mysql]
Host=tcp(127.0.0.1:3306)
User=root
Password=root
ConnMaxLifetime=60
MaxOpenConns=100
MaxIdleConns=50
TableName=lesscode
TablePrefix=t_
Charset=utf8mb4
[Mysql2]
Host=tcp(192.168.188:3306)
.... 同上配置 ...
[Mysql...]
Host=tcp(192.168.101:3306)
.... 同上配置 ...

工具加载

import (
	"github.com/cnlesscode/gotool/db"
)

db.init() 获取 gorm 操作对象

功能 : 获取 gorm 操作对象 参数 : 数据库配置名称,可选参数, 默认 Mysql 说明 : 通过不同配置可以获取基于不同数据库的 orm 对象,实现多库操作 示例 :

package main

import (
	"fmt"
	"github.com/cnlesscode/gotool/db"
)

func main() {
	db := db.Init()
	fmt.Printf("db: %v\n", db)
}

gorm 更多用法

获得 gorm 操作对象后您就可以进行任意形式的数据操作,关于 gorm 的知识请访问 gorm 官网 : https://gorm.io/zh_CN/docs 简单示例

package main
import (
	"fmt"
	"github.com/cnlesscode/gotool/db"
)
type Students struct {
	Id      int    `gorm:"column:st_id;primaryKey"`
	ClassId int    `gorm:"column:st_class_id" binding:"gt=0"`
	Name    string `gorm:"column:st_name" binding:"min=2,max=20"`
	Age     int    `gorm:"column:st_age" binding:"gt=5,lt=200"`
}
func main() {
	db := db.Init()
	var sts []Students
	err := db.Limit(10).Find(&sts).Error
	if err == nil {
		fmt.Printf("sts: %v\n", sts)
	} else {
		fmt.Printf("err: %v\n", err)
	}
}

Documentation

Index

Constants

This section is empty.

Variables

View Source
var GoToolDBMap = make(map[string]*gorm.DB)

Functions

func Init

func Init(configName ...string) *gorm.DB

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL