sqlx
安装go get github.com/go-sql-driver/mysqlgo get github.com/jmoiron/sqlx定义结构体pack
安装
go get github.com/go-sql-driver/mysql go get github.com/jmoiron/sqlx
定义结构体
package model //定义分类结构体 type Category struct { CateID int64 `db:"cate_ID"` CateName string `db:"cate_Name"` CateOrder int64 `db:"cate_Order"` CateType int64 `db:"cate_Type"` CateCount int64 `db:"cate_Count"` CateAlias string `db:"cate_Alias"` CateGroup string `db:"cate_Group"` CateIntro string `db:"cate_Intro"` CateRootID int64 `db:"cate_RootID"` CateParentID int64 `db:"cate_ParentID"` CateTemplate string `db:"cate_Template"` CateLogTemplate string `db:"cate_LogTemplate"` CateMeta string `db:"cate_Meta"` }
连接数据库
package db import ( _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx" ) var ( DB *sqlx.DB ) //初始化 func Init(dsn string) error{ var err error DB,err=sqlx.Open("mysql",dsn) if err!=nil{ return err } err=DB.Ping() if err!=nil{ return err } return nil }
main函数执行
package main import ( "fmt" "hhb/go-blog/dao/db" ) func main(){ var ids=[]interface{}{ 1,2, } db.Init("root:111111@tcp(127.0.0.1:3306)/blog?charset=utf8") byIds, _ := db.GetMultiCategoryByIds(ids) for _,val := range byIds{ fmt.Println(val) } }
查询单行
//获取单个分类 func GetCategoryById(id int64) (category *model.Category, err error) { category = &model.Category{} sqlstr := "select cate_Name,cate_Count from zbp_category where cate_ID=?" err = DB.Get(category, sqlstr, id) if err != nil { return } return }
查询多行
//获取多个分类 func GetMultiCategoryByIds(ids []interface{})(category []model.Category, err error) { params:="" for i:=0;i<len(ids);i++ { params+="?," } params=strings.TrimRight(params,",") //去掉右边的逗号 sqlstr := "select * from zbp_category where cate_ID in("+params+")" err = DB.Select(&category, sqlstr,ids...) return }
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~