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就是总记录数目









