go xorm 使用记录 - cqyajun/notes GitHub Wiki

~/.zshrc 无法匹配参数

setopt no_nomatch

1、安装 go-xorm

go get github.com/go-xorm/cmd/xorm

go build -tags mysql

export PATH=$PATH:/Users/iii/go/src/github.com/go-xorm/cmd/xorm

例子: setopt no_nomatch source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh export PATH=/opt/local/bin:/opt/local/sbin:$PATH export PATH=$PATH:/Users/iii/devtools/androidsdk/platform-tools export PATH=$PATH:/usr/local/opt/[email protected]/bin export PATH=$PATH:/Users/iii/go/src/github.com/go-xorm/cmd/xorm

2、使用

xorm reverse mysql root:root@/xorm?charset=utf8 /Users/iii/go/src/github.com/go-xorm/cmd/xorm/templates/goxorm

会创建对应的 文件

文件:

package main

import ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/go-xorm/core" "github.com/go-xorm/xorm" _ "time" )

var ( engine *xorm.Engine )

type User struct { Id int xorm:"not null pk INT(11)" Username string xorm:"VARCHAR(30)" Sex int xorm:"INT(1)" }

func main() { fmt.Println("hello") engine, err := xorm.NewEngine("mysql", "root:root@/xorm?charset=utf8")

if err != nil {
	fmt.Println(err)
	return
}
//连接测试
if err := engine.Ping(); err != nil {
	fmt.Println(err)
	return
}
//日志打印SQL
engine.ShowSQL(true)

//设置连接池的空闲数大小
engine.SetMaxIdleConns(5)
//设置最大打开连接数
engine.SetMaxOpenConns(5)

//名称映射规则主要负责结构体名称到表名和结构体field到表字段的名称映射
engine.SetTableMapper(core.SnakeMapper{})

user := new(User)
// user.Id =
user.Username = "tyming3"
affected, err := engine.Insert(user)
fmt.Println(affected)

}