beego框架orm中使用原生sql

一、使用Exec操作

注意Exec()函数只能执行添、删、改操作,不能进行查询操作

  • 1、插入数据

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

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

二、使用QueryRowQueryRows查询数据

  • 1、简单的查询

    o := orm.NewOrm()
    user := models.User{
          
          }
    o.Raw(`select * from user`).QueryRow(&user)
    fmt.Println(user)
    
  • 2、查询多条数据

    o := orm.NewOrm()
    user := []models.User{
          
          }
    o.Raw(`select * from user`).QueryRows(&user)
    fmt.Println(user)
    
  • 3、需要传递参数的时候

    o := orm.NewOrm()
    user := []models.User{
          
          }
    o.Raw(`select * from user where age >= ?`, 50).QueryRows(&user)
    fmt.Println(user)
    
  • 4、使用SetArgs添加参数

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

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

猜你喜欢

转载自blog.csdn.net/kuangshp128/article/details/109383778