Golang_web-数据库_查询数据

编程入门 行业动态 更新时间:2024-10-11 23:19:01

Golang_web-<a href=https://www.elefans.com/category/jswz/34/1771350.html style=数据库_查询数据"/>

Golang_web-数据库_查询数据

Golang

文章目录

  • Golang
    • 1.1 获取一条记录
      • 1.1 test
    • 2.获取多条记录
      • 2.1 test

1.1 获取一条记录

根据用户的 id 从数据库中获取一条记录

user.go

import ("fmt""go_code02/webapp/chapter02"
)type User struct { ID intUsername stringPassword stringEmail string
}func (user *User) GetUserByID() (*User, error) {//写 sql 语句sqlStr := "select id , username , password , email from users where id = ?"//执行 sqlrow := chapter02.Db.QueryRow(sqlStr, user.ID)//声明三个变量var id intvar username stringvar password stringvar email string//将各个字段中的值读到以上三个变量中err := row.Scan(&id, &username, &password, &email)if err != nil {return nil, err}//将三个变量的值赋给 User 结构体u := &User{ID: id,Username: username,Password: password,Email: email,}return u, nil
}

1.1 test

user_test.go

package model01import ("fmt""testing"
)
func TestGetUserById(t *testing.T) {fmt.Println("测试添加用户:")user := &User{ID: 1,Username: "admin3",Password: "123456",Email: "admin3@atguigu.com",}//将 user 添加到数据库中u, _ := user.GetUserByID()fmt.Println("得到的信息为",u)
}


成功

2.获取多条记录

user.go

func (user *User) GetUsers() ([]*User, error) {//写 sql 语句sqlStr := "select id , username , password , email from users"//执行 sqlrows, err := chapter02.Db.Query(sqlStr)if err != nil {return nil, err}//定义一个 User 切片var users []*User//遍历for rows.Next() {//声明四个个变量var userID intvar username stringvar password stringvar email string//将各个字段中的值读到以上三个变量中err := rows.Scan(&userID, &username, &password, &email)if err != nil {return nil, err}//将三个变量的值赋给 User 结构体u := &User{ID: userID,Username: username,Password: password,Email: email,}//将 u 添加到 users 切片中users = append(users, u)}return users, nil
}

2.1 test

user_test.go

func TestGetUse(t *testing.T) {fmt.Println("测试添加用户:")user := &User{}//将 user 添加到数据库中u, _ := user.GetUsers()fmt.Println("得到的信息为",u)for k, v := range u{fmt.Println("第%v个用户是%v", k+1 ,v)}
}




成功

更多推荐

Golang_web-数据库_查询数据

本文发布于:2023-07-28 19:16:32,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1284828.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据库   数据   Golang_web

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!