• xorm使用


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

     测试程序2:

    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() {
        master, err := xorm.NewEngine("postgres", "postgres://postgres:asdf@localhost:5432/postgres?sslmode=disable")
        if err != nil {
            return
        }
    
        slave1, err := xorm.NewEngine("postgres", "postgres://postgres:asdf@localhost:5432/postgres2?sslmode=disable")
        if err != nil {
            return
        }
    
        slaves := []*xorm.Engine{slave1}
        db, err := xorm.NewEngineGroup(master, slaves, xorm.RandomPolicy())
        db.SetMaxOpenConns(2000)
        db.SetMaxIdleConns(10)
    
        // 查询数组,find的第二个可选参数是查询条件bean
        var s []Tunit
        db.Cols().Find(&s)
        fmt.Println(s)
    }
  • 相关阅读:
    tomcat启动项目,起不起来
    jQuery ajax 获取信息展示在“下拉列表”中
    JQuery,ajax,jsonp 跨域访问
    httpwebrequest详解
    利用HttpWebRequest和HttpWebResponse获取Cookie并实现模拟登录
    C# 中使用System.Net.Http.HttpClient 模拟登录博客园 (GET/POST)
    JAVA-用HttpClient来模拟浏览器GET,POST
    java 实现模拟浏览器 访问网站
    ora-01017 和oracle database link
    JDeveloper 开发环境配置
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/15269968.html
Copyright © 2020-2023  润新知