一、使用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)
二、使用QueryRow
和QueryRows
查询数据
-
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(¶ms) fmt.Println(num, err) fmt.Println(params)