1 Star 0 Fork 0

common_go/dbdao

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
liuyanqiang- liuyanqiang go 5679a80 6个月前
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

udcdb

udcdb 基于 go-xorm/xorm 封装,将 xorm 实例工厂化,便于接入项目使用。

安装

go get gitee.com/common_go/dbdao

配置

[MysqlConfig]
; 是否打开执行sql记录
showSql=true
; 是否记录sql执行时间,前提需打开showSql
showExecTime=true
; 慢执行日志,前提打开showExecTime,单位500s,默认为0,打全部执行耗时日志
slowslowDuration=500
; 最大连接数,默认100
maxConn=50
; 最大空闲连接数,默认30
maxIdle=30

[MysqlCluster]
; group = 主库 从库1 从库2 ... 从库n
udc = udc_rw:123456@tcp(localhost:3306)/udc_test udc_ro:123456@tcp(localhost:3306)/udc_test
blog = blog_rw:123456@tcp(localhost:3306)/blog_test blog_ro:123456@tcp(localhost:3306)/blog_test

udcblog 分别为两组不同的实例; 支持一主多从,配置至少 一主一从。

开始

// 获取 udc 实例组
db := dbdao.GetDbInstance("udc")

// 返回 Master 数据库引擎
masterEngine := db.Engine.Master()

// 依据给定的负载策略返回一个 Slave 数据库引擎
slaveEngine := db.Engine.Slave()

type User struct {
    Id int64
    Name string
    Salt string
    Age int
    Passwd string `xorm:"varchar(200)"`
    Created time.Time `xorm:"created"`
    Updated time.Time `xorm:"updated"`
}

// 主库插入
affected, err := masterEngine.Insert(&user)
// INSERT INTO struct () values ()

affected, err := masterEngine.Insert(&user1, &user2)
// INSERT INTO struct1 () values ()
// INSERT INTO struct2 () values ()

affected, err := masterEngine.Insert(&users)
// INSERT INTO struct () values (),(),()

affected, err := masterEngine.Insert(&user1, &users)
// INSERT INTO struct1 () values ()
// INSERT INTO struct2 () values (),(),()

// 从库查询
has, err := slaveEngine.Get(&user)
// SELECT * FROM user LIMIT 1

has, err := slaveEngine.Where("name = ?", name).Desc("id").Get(&user)
// SELECT * FROM user WHERE name = ? ORDER BY id DESC LIMIT 1

详细使用介绍:

https://gobook.io/read/gitea.com/xorm/manual-zh-CN/

源码包

https://github.com/go-xorm/xorm

空文件

简介

dbdao 展开 收起
Go
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/common_go/dbdao.git
git@gitee.com:common_go/dbdao.git
common_go
dbdao
dbdao
master

搜索帮助