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
}相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~