gorose连接mssql

go.mod

require (
    github.com/denisenkom/go-mssqldb v0.0.0-20200620013148-b91950f658ec
    github.com/gohouse/converter v0.0.3 // indirect
    github.com/gohouse/gorose v1.0.5
    github.com/gohouse/gorose/v2 v2.1.7
    github.com/jinzhu/gorm v1.9.14
)
package main

import (
    "flag"
    "fmt"
    "os"

    _ "github.com/denisenkom/go-mssqldb"
    gorose "github.com/gohouse/gorose/v2"
)

var err error
var engin *gorose.Engin

type DtCardtype struct {
    ID        int64  `gorose:"id"`
    CardCname string `gorose:"CardCname"`
    Mark      string `gorose:"Mark"`
}

var (
    debug         = flag.Bool("debug", true, "enable debugging")
    password      = flag.String("password", "123456", "the database password")
    port     *int = flag.Int("port", 1433, "the database port")
    server        = flag.String("server", "10.10.10.53", "the database server")
    user          = flag.String("user", "sa", "the database user")
)

func init() {
    // 全局初始化数据库,并复用
    // 这里的engin需要全局保存,可以用全局变量,也可以用单例
    // 配置&gorose.Config{}是单一数据库配置
    // 如果配置读写分离集群,则使用&gorose.ConfigCluster{}
    // mysql Dsn示例 "root:root@tcp(localhost:3306)/test?charset=utf8&parseTime=true"
    connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d;database=carpark", *server, *user, *password, *port)
    engin, err = gorose.Open(&gorose.Config{Driver: "mssql", Dsn: connString})
    if err != nil {
        fmt.Println(err)
        os.Exit(-1)
    }
}
func DB() gorose.IOrm {
    return engin.NewOrm()
}
func main() {
    var u []DtCardtype
    DB().Table("Park").First()
    fmt.Println(u)
}