golang 包 "github.com/didi/gendry/builder 的使用

golang 包 "github.com/didi/gendry/builder 的使用

撸代码

dao.go

package dao

import (
	"errors"
	"github.com/didi/gendry/builder"
	"viper_demo/dabasepool"
)

const (
	handlername string = "001"
	tablename = "todos"
)
// 插入数据测试
func AddDate(values map[string]interface{}) (number int64,err error) {

	// 判断输入
	if len(values)== 0 {
		return 0,errors.New("参数错误")
	}
	// 全局变量获取句柄
	db := dabasepool.Gethandler(handlername) // 获取db 这里可以返回异常 方便查找

	var data []map[string]interface{}
	data = append(data,values)
	cond, vals, err := builder.BuildInsert(tablename,data)
	if err != nil {
		return 0, err
	}
	// 执行
	res, err := db.Exec(cond,vals...)
	if err != nil {
		return 0, err
	}

	return res.LastInsertId()

}

  

main.go 调用

	// builder 插入数据练习
	values := map[string]interface{}{
		"id":76767,
		"title":"builder test",
		"status":1,
	}
	
	id,err := dao.AddDate(values)
	if err != nil {
		fmt.Print("dao.AddDate %v",err)
	} else {
		fmt.Print("插入成功,插入id:",id)
	}

  

以上练习测试 是基于 获取mysql 全部 db 的基础上。 

原文地址:https://www.cnblogs.com/zexin88/p/14506611.html