go mssql 查询语句到实体中 ,goland 简单连接 sqlserver,并查询数据到实体中

1,184 阅读1分钟

go mssql 查询语句到实体中 ,

goland 简单连接 sqlserver,并查询数据到实体中

需要引用包:github.com/denisenkom/go-mssqldb

我们使用 cmd 执行:

go get github.com/denisenkom/go-mssqldb

image.png

上代码(简单例子):学习记录

/*
* Copyright(C),2019-2020, email: 952651117@qq.com
* Author:  dao
* Version: 1.0.0
* Date:    2021/6/10 8:40
* Description:
*
 */

package main

import (
	"database/sql"
	"fmt"
	_ "github.com/denisenkom/go-mssqldb"
	"log"
)

type man struct {
	Id         int
	Name       string
	IsGraduate bool
}

func main() {
	//编写连接字符串
	connString := "server=120.79.19.125;port1433;database=cuyan;user id=cuyan;password=123456"
	//建立数据库连接:conn
	conn, err := sql.Open("mssql", connString)
	if err != nil {
		log.Fatal("Open Connection failed:", err.Error())
	}
	defer conn.Close()
	//编写查询语句
	stmt, err := conn.Prepare(`select Name from [Student]`)
	if err != nil {
		log.Fatal("Prepare failed:", err.Error())
	}
	defer stmt.Close()

	//执行查询语句
	rows, err := stmt.Query()
	if err != nil {
		log.Fatal("Query failed:", err.Error())
	}
	//将数据读取到实体中
	var rowsData []*man
	for rows.Next() {
		row := new(man)
		//其中一个字段的信息 , 如果要获取更多,就在后面增加:rows.Scan(&row.Name,&row.Id)
		rows.Scan(&row.Name)
		rowsData = append(rowsData, row)
	}
	for _, v := range rowsData {
		//循环输出读取的数据
		fmt.Println(v.Name)
	}
}

执行后如下图:

image.png