当前位置: 首页 > 工具软件 > XORM > 使用案例 >

mysql连接 xorm_xorm

陈德泽
2023-12-01

Windows:

d:

cd d:\goproject\bin

xorm reverse mysql root:888888@tcp(127.0.0.1:3306)/golanglab?charset=utf8 D:\GoProject\src\github.com\go-xorm\cmd\xorm\templates\goxorm

MacOS:

cd /Users/admin/go/bin

./xorm reverse mysql root:888888@(127.0.0.1:3306)/golanglab?charset=utf8 /Users/admin/go/src/github.com/go-xorm/cmd/xorm/templates/goxorm

//生成的 Go Model 代码在:/Users/admin/go/bin/model/*.go

基本上它只能这样用:engine.SQL("....").Find(&X)

X 的结构必须与结果集(部分)保持一致

结构中的字段名大小写非常受限

结构中的字段名不能是一个字母(???)

如果 SQL 中的参数(问号)太多,问号传递参数就很 SB 了...

只好利用 text/template 的命名参数来格式化 SQL 字符串.

基本上不成体系.没有 MS 的功力,还想做 MSSQL,LINQ 的事...

mysql.ROW_COUNT() is buggy.

运行复杂SQL:

wr := bytes.Buffer{}

sql := `select {{.xxxx}} ? ?`

template.Must(template.New("").Parse(sql)).Execute(&wr, map[string]interface{}{

"id": r.FormValue("id"),

})

oo := []struct {

model.Account `xorm:"extends"`

Abc string

}{}

eng.SQL(wr.String(),8,9).Find(&oo)

wr.Reset()

获取总行数SQL:

count, _ = eng.SQL("select ....").Count()

count, _ = eng.SQL("select count(*)....").Count()

 类似资料: