beego

摘要:
Charset=utf8“)56//参数4(可选)设置最大空闲连接7//参数5modelorm.RegisterModelRegisterModelWithPrefix。使用表名前缀orm.RegisterModelWithPrefixbeego自动创建表。1//参数1使用默认数据库ORM接口使用1//查询操作2funread(){3o:=ORM.NewOrm()4person:=Person{Id:2}5err:=o。Read6ifer=Nil{7fmt.Println8}9日志。Info10}1112//插入操作13funinsert(){14o:=orm.NewOrm()15person:=Person{姓名:“朝阳”,年龄:19}16_,错误:=o.Insert17ifer!
            beego使用orm包操作数据库

1、Model的设置

1 //声明一个结构体,用于映射数据库表
2 type Person struct {
3     Id int
4     Name string `orm:"size(100)"`
5     Age int
6 }

2、数据库的设置

RegisterDrive

1 // 参数1   driverName
2 // 参数2   数据库类型
3 // 这个用来设置 driverName 对应的数据库类型
4 // mysql / sqlite3 / postgres 这三种是默认已经注册过的,所以可以无需设置
5 orm.RegisterDriver("mysql", orm.DRMySQL)

RegisterDataBase

ORM 必须注册一个别名为 default 的数据库,作为默认使用。

 1 // 参数1        数据库的别名,用来在 ORM 中切换数据库使用
 2 // 参数2        driverName
 3 // 参数3        对应的链接字符串
 4 orm.RegisterDataBase("default", "mysql", "root:root@/orm_test?charset=utf8")
 5 
 6 // 参数4(可选)  设置最大空闲连接
 7 // 参数5(可选)  设置最大数据库连接 (go >= 1.2)
 8 maxIdle := 30
 9 maxConn := 30
10 orm.RegisterDataBase("default", "mysql", "root:root@/orm_test?charset=utf8", maxIdle, maxConn)

SetMaxIdleConns

根据数据库的别名,设置数据库的最大空闲连接

orm.SetMaxIdleConns("default", 30)

SetMaxOpenConns

根据数据库的别名,设置数据库的最大数据库连接 (go >= 1.2)

orm.SetMaxOpenConns("default", 30)

注册模型

如果使用 orm.QuerySeter 进行高级查询的话,这个是必须的。

package main

import "github.com/astaxie/beego/orm"

type User struct {
    Id   int
    Name string
}

func init(){
    orm.RegisterModel(new(User))
}

RegisterModel 也可以同时注册多个 model

orm.RegisterModel(new(User), new(Profile), new(Post))

RegisterModelWithPrefix

使用表名前缀

orm.RegisterModelWithPrefix("prefix_", new(User))

beego设置自动创建表

1    //参数1      使用默认的数据库
2     //参数2     为true如果当前语句发送错误,则执行下一条语句
3     //参数3     为true表示打印建表和sql执行的信息
4     orm.RunSyncdb("default",false,true)

调试模式打印查询语句

1 orm.Debug = true

3、ORM 接口使用

 1 //查询操作
 2 func read(){
 3     o := orm.NewOrm()
 4     person := Person{Id:2}
 5     err := o.Read(&person)
 6     if err != nil {
 7         fmt.Println("err=",err)
 8     }
 9     logs.Info("查询成功")
10 }
11 
12 //插入操作
13 func insert(){
14     o := orm.NewOrm()
15     person := Person{Name:"朝阳",Age:19}
16     _,err := o.Insert(&person)
17     if err != nil {
18         fmt.Println("插入失败")
19         fmt.Println("err=",err)
20     }
21 }
22 
23 //更新操作
24 func update(){
25     o := orm.NewOrm()
26     person := Person{Id:3,Name:"baihu",Age:20}
27     _,err := o.Update(&person)
28     if err != nil {
29         fmt.Println("err=",err)
30     }
31     fmt.Println("更新成功")
32 
33 }
34 
35 //删除操作
36 func delete(){
37     o := orm.NewOrm()
38     person := Person{Id:3}
39     n,err := o.Delete(&person)
40     if err != nil {
41         fmt.Println("err=",err)
42     }
43     fmt.Printf("成功删除%d条记录",n)
44 }

免责声明:文章转载自《beego》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Uni-app v-on监听事件docker run hangs问题排查记录下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SpringBoot分层概览

从下到上依次为:数据库、Model层、Mapper层(DAO层)、Service层、Controller层、View层、用户 下边对分层进行大致的解释: 数据库 Model层:存放了页面需要传递数据对应字段的实体类,它和数据库中对应表字段的属性值保持一致。也就是说成员变量+getter/setter方法把数据库对应表中的字段映射为对象的属性。 Mapper...

关于Java高并发的问题

前言: 对于开发的网站,如果网站的访问量非常大的话,那么就需要考虑相关的并发访问问题了。 一.同步和异步的区别和联系 所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到返回的值或消息后才往下执行其它的命令。 异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系...

oracle数据库割接解决方案一

一、需求 1、由于新版本上线替换旧版本、两个版本互不兼容、数据库里面有些表不一致,比如表名、字段等等。 2、要全部保留旧数据库里面的数据信息,同时要保证数据唯一性、正确性、可靠性--完整性。 3、新版本在数据切割后可以正常运行,整个系统的功能正常、计费正确等。 二、根据需求,下面将对解决方案进行分解: 1、由于旧数据库的编码是gbk,而新的数据库是utf-...

ABAP锁、数据库锁

ABAP数据锁定... 338 SM12锁查看与维护... 344 通用加锁与解锁函数... 344 ABAP程序锁定... 345 数据库锁... 347 锁的分类和兼容性... 347 并发性与锁的权衡... 348 数据库的事务隔离级别... 348 在JDBC应用程序中设置隔离级别... 349 在应用程序中采用悲观锁和乐观锁... 349 由数...

maven 命令小记

mvn help:system mvn clean compile mvn clean test                            测试 mvn clean package                    打包成jar mvn clean install mvn dependency:tree 列出jar之间依赖引入的jar ma...

关于MYSQL字符集问题(一)

  MySQL的字符集支持(Character Set Support)有两个方面:     字符集(Character set)和排序方式(Collation)。   对于字符集的支持细化到四个层次:     服务器(server),数据库(database),数据表(table)和连接(connection)。MySQL默认字符集   MySQL对于...