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)
}