beego——模型(model)

beego ORM是一个强大的Go语言ORM框架。她的灵感主要来自Django ORM和SQLAlchemy。

已经支持的数据库驱动:

ORM的特性:

  • 支持 Go 的所有类型存储
  • 轻松上手,采用简单的 CRUD 风格
  • 自动 Join 关联表
  • 跨数据库兼容查询
  • 允许直接使用 SQL 查询/映射
  • 严格完整的测试保证 ORM 的稳定与健壮

安装ORM:

go get github.com/astaxie/beego/orm

  

快速入门

简单示例:

package main

import (
    "fmt"
    "github.com/astaxie/beego/orm"
    _ "github.com/go-sql-driver/mysql" // import your used driver
)

// Model Struct
type User struct {
    Id   int
    Name string `orm:"size(100)"`
}

func init() {
    // set default database
    orm.RegisterDataBase("default", "mysql", "username:password@tcp(127.0.0.1:3306)/db_name?charset=utf8", 30)

    // register model
    orm.RegisterModel(new(User))

    // create table
    orm.RunSyncdb("default", false, true)
}

func main() {
    o := orm.NewOrm()

    user := User{Name: "slene"}

    // insert
    id, err := o.Insert(&user)
    fmt.Printf("ID: %d, ERR: %v\n", id, err)

    // update
    user.Name = "astaxie"
    num, err := o.Update(&user)
    fmt.Printf("NUM: %d, ERR: %v\n", num, err)

    // read one
    u := User{Id: user.Id}
    err = o.Read(&u)
    fmt.Printf("ERR: %v\n", err)

    // delete
    num, err = o.Delete(&u)
    fmt.Printf("NUM: %d, ERR: %v\n", num, err)
}

  

关联查询

type Post struct {
    Id    int    `orm:"auto"`
    Title string `orm:"size(100)"`
    User  *User  `orm:"rel(fk)"`
}

var posts []*Post
qs := o.QueryTable("post")
num, err := qs.Filter("User__Name", "slene").All(&posts)

  

SQL查询

当你无法使用ORM来达到您的需求的时候,也可以直接使用SQL来完成查询/映射操作。

var maps []orm.Params
num, err := o.Raw("SELECT * FROM user").Values(&maps)
for _,term := range maps{
    fmt.Println(term["id"],":",term["name"])
}

  

事务处理

o.Begin()
...
user := User{Name: "slene"}
id, err := o.Insert(&user)
if err == nil {
    o.Commit()
} else {
    o.Rollback()
}

  

调试查询日志

在开发环境下,您可以使用以下指令来开启调试模式:

orm.Debug = true

开启后将会输出所有的查询语句,包括执行、准备、事务等。例如

[ORM] - 2013-08-09 13:18:16 - [Queries/default] - [    db.Exec /     0.4ms] -   [INSERT INTO `user` (`name`) VALUES (?)] - `slene`

  

 

转载于:https://www.cnblogs.com/yangmingxianshen/p/10122418.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 算法模型文件bmodel是指机器学习或深度学习模型经过训练后,生成的二进制文件。这个文件包含了模型的权重、参数和整个模型的架构信息。当我们需要使用这个模型进行预测或推理时,可以加载这个bmodel文件。加载之后,我们就可以使用这个模型来对新数据进行分类、回归或识别等任务。 一般来说,机器学习或深度学习模型的训练需要大量的计算资源和时间。但一旦训练完成,并生成了模型文件bmodel,我们就可以非常方便地使用这个模型对新数据进行分析和预测。这也是为什么机器学习和深度学习在实践中如此有用的原因之一。 除了使用bmodel文件进行预测之外,我们还可以使用它进行模型优化和调试。通过对模型内部的权重和参数进行调整,我们可以提高模型的准确度和鲁棒性。这种技术被广泛应用于语音识别、图像分类、自然语言处理和推荐系统等应用领域。 总之,算法模型文件bmodel是机器学习和深度学习模型经过训练后的结果。它包含了模型的权重、参数和架构信息。通过加载这个文件,我们可以使用这个模型进行推理和预测,从而提高我们的工作效率和精度。 ### 回答2: 算法模型文件 bmodel 是一种二进制文件格式,通常由人工智能算法训练得到的深度学习模型保存在其中。这种文件格式不同于其他文本格式的模型文件,例如 JSON 和 YAML,因为它是一个二进制文件,可以更快地加载模型并进行推理。 bmodel 文件通常包含神经网络的权重和结构信息,它们是将数百万个参数组织在一起的二进制表示形式。该文件可能包含导出模型的许多不同版本,因此需要选择正确版本的模型。 常见的用途是在开发深度学习算法的同时,直接将训练好的模型保存在 bmodel 文件中。然后,将该文件加载到应用程序中,并使用它来使用该模型的预测功能。这种方法可以提高开发人员的生产力,因为他们不需要每次重新训练模型,但需要确保模型实际上有效,并且对用于推断的数据产生准确的结果。 值得注意的是,算法模型文件 bmodel 的使用需要特殊的软件或库,例如 PaddlePaddle 和 Baidu Brain 等人工智能框架。此外,bmodel 文件通常非常大,因此需要足够的存储空间。 ### 回答3: 算法模型文件 bmodel 是一种二进制文件,用于存储人工智能算法模型,通常由深度学习框架或算法库生成。bmodel 文件包含了模型的结构和参数,是算法模型在计算机中的一次训练结果,可以用于部署模型以及进行后续推理计算。 使用 bmodel 文件可以减少训练模型的时间和资源消耗,提高模型实际应用的效率。同时,由于 bmodel 文件的文件大小通常较小,可以方便地在移动设备和嵌入式系统中使用,为这些设备提供更加智能化的应用。 在使用 bmodel 文件时,需要特别注意文件的正确性和兼容性。不同的深度学习框架和算法库生成的 bmodel 文件可能存在格式和兼容性差异,需要针对具体应用场景进行选择和调试。 总之,bmodel 文件是一个方便、高效以及可移植的算法模型保存和部署方式,有助于提高人工智能模型的实际应用效果和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值