Home
Linux
Golang
MySQL
PHP
Other
golang数据库之查询
创建日期:2019-09-02 15:49:01
更新日期:2023-12-01 15:28:11
栏目:
Golang
浏览:974
## 查询单条记录 ``` package db import ( "model" //调用model中定义的数据类型 ) //需要传递的形参以及返回的值个数和数据类型 func Login(account string, password string) (*model.User, error) { db, err := connect() if err != nil { return nil, err } defer db.Close() user := model.User{} //这里用的是QueryRow row := db.QueryRow("select id, account, password, avatar, pay_pwd, users_wallet, all_assets, available_assets,freeze_assets from users where account = ? and password = md5(?)", account, password) err = row.Scan(&user.ID, &user.Account, &user.Password, &user.Avatar, &user.Pay_pwd, &user.Users_wallet, &user.All_assets, &user.Available_assets, &user.Freeze_assets) if err != nil { return nil, err } //这里采用的是返回地址 return &user, nil } ``` ## 数据库查询多条记录 ``` package db import ( //"log" "model" ) //返回的是一个数组 func CreateOrders(account string) ([]model.Order, error) { db, err := connect() if err != nil { return nil, err } defer db.Close() rows, err := db.Query("select * from orders where user_id = (select id from users where account = ?)", account) if err != nil { return nil, err } defer rows.Close() //定义一个数组 var orders []model.Order order := model.Order{} for rows.Next() { err := rows.Scan(&order.ID, &order.User_ID, &order.Status, &order.Buy_sell, &order.Receipt_wat, &order.Payee, &order.Buy_sell_num, &order.Buy_sell_min, &order.Price, &order.Area, &order.Placard) if err != nil { return nil, err } //将每次循环出来的一条数据放入到数组中 orders = append(orders, order) } err = rows.Err() if err != nil { return nil, err } //直接返回数组本身 return orders, nil } ```
内容版权声明:本文为舒孝元原创文章,转载无需和我联系,但请注明来自
舒孝元博客:https://www.shuxiaoyuan.com/info/9
联系邮箱:sxy@shuxiaoyuan.com