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 的基础上。