ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

xorm使用

2021-09-14 22:34:26  阅读:160  来源: 互联网

标签:struct db json 使用 xorm col postgres


xorm使用

在d:\goxorm新建俩个文件

config

lang=go
genJson=1
prefix=cos_

 struct.go.tpl 

package {{.Models}}

{{$ilen := len .Imports}}
{{if gt $ilen 0}}
import (
    {{range .Imports}}"{{.}}"{{end}}
)
{{end}}

{{range .Tables}}
type {{Mapper .Name}} struct {
{{$table := .}}
{{range .ColumnsSeq}}{{$col := $table.GetColumn .}} {{Mapper $col.Name}}    {{Type $col}} {{Tag $table $col}}
{{end}}
}

{{end}}  

在go终端执行以下命令

D:\>xorm reverse postgres  postgres://postgres:asdf@localhost:5432/postgres?sslmode=disable goxorm

会在d:\modals自动生成数据库所有表的XORM需要的结构体(也可以手动,如果数据表多,最好还是自动生成)

type Tunit struct {
	Unitid   string `json:"unitid" xorm:"not null pk VARCHAR(9)"`
	Unitname string `json:"unitname" xorm:"VARCHAR(9)"`
}

 测试程序 

package main

import (
    "fmt"

    _ "github.com/lib/pq"
    "xorm.io/xorm"
)

type Tunit struct {
    Unitid   string `json:"unitid" xorm:"not null pk VARCHAR(9)"`
    Unitname string `json:"unitname" xorm:"VARCHAR(9)"`
}

func main() {
    db, err := xorm.NewEngine("postgres", "postgres://postgres:asdf@localhost:5432/postgres?sslmode=disable")
    if err != nil {
        fmt.Println(err)
    }
    //2.显示sql语句
    //db.ShowSQL(true)
    //3.设置连接数
    db.SetMaxIdleConns(2000)
    db.SetMaxOpenConns(1000)

    // 查询数组,find的第二个可选参数是查询条件bean
    var s []Tunit
    db.Cols().Find(&s)
    fmt.Println(s)
}

 

标签:struct,db,json,使用,xorm,col,postgres
来源: https://www.cnblogs.com/hnxxcxg/p/15269968.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有