上一篇文章讲述了如何利用ORM创建表,基本上ORM与指定的数据库连接,创建模型,生成表,是在服务运行就完成了,但是对数据的操作是在服务被请求时,在对应的控制器中完成.这里访问orm模型就像是访问一张表
一.ORM-插入数据
注:返回的是自增键的id值
// 1.获取ORM对象
o := orm.NewOrm()
// 2.创建需要插入的对象
var user models.User
user.Name="zq"
user.PassWorld="987654"
// 3.通过ORM对象将创建的对象插入到数据库当中
if id, err := o.Insert(&user); err == nil{
beego.Info("插入数据成功, id是", id)
}else{
beego.Error("插入数据失败", err)
}
By 极客江南
二.ORM-查询单条数据
// 2.定义需要查询的对象
var user models.User
// 3.指定需要查询的字段
//user.Name = "zq"
user.Id = 1
// 4.利用ORM对象查询指定的对象
// 含义从表中找到name是我们指定name的那一条数据, 然后赋值给传入的user变量
// 第二个参数就相当于过去的where name=user.Name
//if err := o.Read(&user, "name"); err ==nil{
//if err := o.Read(&user, "id"); err ==nil{
// 注意点: 如果查询的条件字段是ID, 那么可以省略
if err := o.Read(&user); err ==nil{
beego.Info("查询成功", user)
}else{
beego.Error("查询失败", err)
}
By 极客江南
三.ORM-查询多条数据
简单的说是查询指定表中的全部数据
四.ORM-更新数据
// 1.定义需要更新的对象
var user models.User
// 2.指定需要查询的字段
// 为了避免出错, 一般情况下更新之前需要先判断数据是否存在
user.Name = "lnj"
// 注意点: 如果查询的条件字段是ID, 那么可以省略
if err := o.Read(&user, "name"); err ==nil{
beego.Info("查询成功", user)
// 3.设置需要更新的数据
user.Name="it666"
user.PassWorld="abcdefg"
count, _ :=o.Update(&user)
beego.Info("count====", count)
}else{
beego.Error("查询失败", err)
}
By 极客江南
五.ORM-删除数据
// 1.定义需要删除的对象
var user models.User
// 2.指定需要查询的字段
// 为了避免出错, 一般情况下更新之前需要先判断数据是否存在
user.Name = "zq"
// 注意点: 如果查询的条件字段是ID, 那么可以省略
if err := o.Read(&user, "name"); err ==nil{
beego.Info("查询成功", user)
// 3.删除指定的对象
count, _ :=o.Delete(&user)
beego.Info("count====", count)
}else{
beego.Error("查询失败", err)
}
By 极客江南