1.查询单记录
const SearchVpcByNameSql = "select * from t_order where username = ? "
func (v *VpcMapper) SearchOrderByName(name string) (order domain.Order, err error){
row := v.Db.QueryRow(SearchVpcByNameSql, name)
err = row.Scan(&order.Id, &order.Username, &order.ServiceType,
&order.OrderType, &order.Status, &order.Reason, &order.OrderItemJson, &order.CreateTime)
err = row.Scan(&vpcName)
return order,err
}
2.多记录查询
func (o *OrderService) ListUserOrders(username string) (*[]domain.Order, error){
// 查询订单列表
rows, err := o.Db.Query("select * from t_order where username = ? order by create_time desc", username)
defer func() {
if rows != nil {
rows.Close()
}
}()
if err != nil {
klog.Error("query orders error", err)
return nil, err
}
items := make([]domain.Order,0)
for rows.Next() {
order := new(domain.Order)
err = rows.Scan(&order.Id, &order.Username, &order.ServiceType, &order.OrderType, &order.Status, &order.Reason, &order.OrderItemJson, &order.CreateTime)
if err != nil {
klog.Error("query orders error", err)
return nil, err
}
order.OrderItemJson = ""
items = append(items, *order)
}
return &items,nil
}
3.记录是否存在
//通过md5判断文件是否存在
func (m *ImageService) IsMd5Exist(md5 string) (bool, error) {
totalRow, err := m.Db.Query("SELECT COUNT(*) FROM t_image where md5 = ?", md5)
if err != nil {
klog.Error("query t_image md5 error", err)
return false, err
}
total := 0
for totalRow.Next() {
err := totalRow.Scan(
&total,
)
if err != nil {
klog.Error("query t_image md5 error", err)
continue
}
}
totalRow.Close()
if total == 0 {
return false, nil
}
return true, nil
}
上述一个是通过数目来判断是否存在,还有个是查到为空有error代表不存在
4.记录数量
上述代码的total就是总记录数目