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