golang封装结果集
发布时间:2020-12-16 19:14:04 所属栏目:大数据 来源:网络整理
导读:之前找过很多结果集封装都不是很好,所以自己封装了下。 strFirstToUpper 字符串首字母转化为大写 NewBeeMap 并发存取map /** * 封装结果集 */ func RowResult(rows *sql.Rows) [] interface {} { //字典类型 //构造scanArgs、values两个数组,scanArgs的每
之前找过很多结果集封装都不是很好,所以自己封装了下。
/** * 封装结果集 */
func RowResult(rows *sql.Rows) []interface{} {
//字典类型
//构造scanArgs、values两个数组,scanArgs的每个值指向values相应值的地址
columns,_ := rows.Columns()
values := make([]sql.RawBytes,len(columns))
scanArgs := make([]interface{},len(values))
for i := range values {
scanArgs[i] = &values[i]
}
var returnArrs []interface{}
for rows.Next() {
err := rows.Scan(scanArgs...)
if err != nil {
panic(err.Error())
}
var value string
relativeJson := NewBeeMap()
for i,col := range values {
if col == nil {
value = ""
} else {
value = string(col)
}
if relativeJson.Set(strFirstToUpper(columns[i]),value) {
continue
}
}
returnArrs = append(returnArrs,relativJson.bm)
}
return returnArrs
} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |