Use native SQL in beego framework orm

1. ExecOperation

Note that the Exec()function can only perform add, delete, and modify operations, not query operations

  • 1. Insert data

    o := orm.NewOrm()
    res, err := o.Raw(`insert into user values(id,?,?,?)`, "欧阳锋", 50, "蛇岛").Exec()
    fmt.Println(res.RowsAffected())
    fmt.Println(err)
    
  • 2. Update data

    o := orm.NewOrm()
    res, err := o.Raw(`update user set age = ? where id = ?`,40, 8).Exec()
    fmt.Println(res.RowsAffected())
    fmt.Println(err)
    

Two, use QueryRowand QueryRowsquery data

  • 1. Simple query

    o := orm.NewOrm()
    user := models.User{
          
          }
    o.Raw(`select * from user`).QueryRow(&user)
    fmt.Println(user)
    
  • 2. Query multiple data

    o := orm.NewOrm()
    user := []models.User{
          
          }
    o.Raw(`select * from user`).QueryRows(&user)
    fmt.Println(user)
    
  • 3. When parameters need to be passed

    o := orm.NewOrm()
    user := []models.User{
          
          }
    o.Raw(`select * from user where age >= ?`, 50).QueryRows(&user)
    fmt.Println(user)
    
  • 4. Use to SetArgsadd parameters

    o := orm.NewOrm()
    user := []models.User{
          
          }
    o.Raw(`select * from user where age >= ? and id > ?`).SetArgs(50, 2).QueryRows(&user)
    fmt.Println(user)
    
  • 5. valuesUse

    o := orm.NewOrm()
    var params []orm.Params
    num, err := o.Raw(`select * from user`).Values(&params)
    fmt.Println(num, err)
    fmt.Println(params)
    

Guess you like

Origin blog.csdn.net/kuangshp128/article/details/109383778