前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go:如何操作SQL

Go:如何操作SQL

作者头像
沈宥
发布2024-07-11 10:21:03
820
发布2024-07-11 10:21:03
举报
文章被收录于专栏:从头开始学习测试开发

先引入包

导入MySQL驱动之前,需要将驱动下载回来

代码语言:javascript
复制
go get -u github.com/go-sql-driver/mysql (确保已经安装了git)
代码语言:javascript
复制
import (
	"database/sql/driver"
)

连接数据库

连接数据库

代码语言:javascript
复制
const (
	dataSoureNameInfo = "username:password@tcp(IP:4306)/database?charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai"
)

var db *gorm.DB

func Init() {
	client, err := gorm.Open("mysql", dataSoureNameInfo)
	if err != nil {
		log.Error("mysql 异常: ", nil)
		panic(err)
	}
	db = client
}

创建数据库表对应的model

代码语言:javascript
复制
type ApiCase struct {
	Id           int    `json:"id" gorm:"column:id"`
	Level        int    `json:"level" gorm:"column:level"`
	ParentId     int    `json:"parentid" gorm:"column:parentid"`
	IsTestExec   string `json:"is_test_exec" gorm:"column:is_test_exec"`
	CaseName     string `json:"case_name" gorm:"column:case_name"`
}

执行SQL语句

代码语言:javascript
复制
func GetCaseList(limit, offset int, env, run string) (int, []*ApiCase, error, error) {
	info := ApiCase{}
	count := 0
	sql := "id > 0 "

	if run != "all" {
		sql += " and is_test_exec='" + run + "'"
	}

	if env != "all" {
		sql += " and  case_env='" + env + "'"
	}

	log.Info("根据case环境类型查找case的sql:", sql)
	err := db.Where(sql).Model(info).Count(&count).Error

	result := make([]*ApiCase, 0)
	return count, result, db.Where(sql).Limit(limit).Offset(offset).Order("id desc").Find(&result).Error, err

}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从头开始学习测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 先引入包
    • 连接数据库
      • 执行SQL语句
      相关产品与服务
      数据库
      云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档