• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Go XORM

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

xorm是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作非常简便。

电子书 XORM操作指南

常用命令

xorm 是一组数据库操作命令的工具,包含如下命令:

reverse 反转一个数据库结构,生成代码
shell 通用的数据库操作客户端,可对数据库结构和数据操作
dump Dump数据库中所有结构和数据到标准输出
source 从标注输入中执行SQL文件
driver 列出所有支持的数据库驱动

编译xorm工具

下载数据库驱动

  go get github.com/go-sql-driver/mysql  //MyMysql
  go get github.com/ziutek/mymysql/godrv  //MyMysql
  go get github.com/lib/pq  //Postgres
  go get github.com/mattn/go-sqlite3  //SQLite
go get github.com/go-xorm/cmd/xorm

到GOPATH\src\github.com\go-xorm\cmd\xorm 目录下,执行

go build

当前目录产生xorm文件,window下产生xorm.exe文件

生成struct

database        command
sqlite          xorm reverse sqite3 test.db templates/goxorm C:\temp
mysql           xorm reverse mysql "root:123456@(127.0.0.1:3306)/test?charset=utf8" templates/goxorm C:\temp
mymysql         xorm reverse mymysql xorm_test2/root/ templates/goxorm C:\temp
postgres        xorm reverse postgres "user=postgres password=123456 dbname=test host=127.0.0.1 port=5432 sslmode=disable" templates/goxorm C:\temp
mssql           xorm reverse mssql "server=127.0.0.1;user id=testid;password=testpwd;database=testdb" templates/goxorm C:\temp

./xorm reverse mysql root:password@"(host:3306)"/database?charset=utf8 templates/goxorm

目录参数省略,会在当前目录建立一个 models 目录, 该目录有生成的go文件

内容如:

package model

import (
	"time"
)

type ClickData struct {
	Id         int       `xorm:"not null pk autoincr comment('主键') INT(10)"`
	Adid       string    `xorm:"not null default '' comment('广告计划id') VARCHAR(32)"`
	Cid        string    `xorm:"not null default '' comment('广告创意id') VARCHAR(100)"`
	ImeiMd5    string    `xorm:"not null default '' comment('安卓设备识别码的md5') unique(uk_its) CHAR(32)"`
	Mac        string    `xorm:"not null default '' comment('MAC地址的md5sum') CHAR(32)"`
	Androidid  string    `xorm:"VARCHAR(40)"`
	ClientIp   string    `xorm:"VARCHAR(40)"`
	Source     string    `xorm:"not null default '' comment('媒体来源') unique(uk_its) VARCHAR(32)"`
	Timestamp  int64     `xorm:"not null default 0 comment('点击时间') unique(uk_its) BIGINT(18)"`
	Callback   string    `xorm:"not null default '' comment('回调参数') VARCHAR(2048)"`
	Channel    string    `xorm:"comment('渠道唯一标示') VARCHAR(40)"`
	ChangeFlag int       `xorm:"not null default 0 comment('渠道是否变更(0:没有变更; 1:变更过)') TINYINT(1)"`
	OldChannel string    `xorm:"not null default '' comment('原始日志的渠道名') VARCHAR(50)"`
	BookId     int       `xorm:"default 0 INT(11)"`
	CreatedAt  time.Time `xorm:"not null default 'CURRENT_TIMESTAMP' comment('插入日期') DATETIME"`
}


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Go语言实现UDP通信发布时间:2022-07-10
下一篇:
GO文件操作相关API发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap