# 安装orm及Msql驱动
~~~
go get github.com/astaxie/beego/orm
go get github.com/go-sql-driver/mysql // import your used driver
~~~
# 注册数据库类型
```
orm.RegisterDriver("mysql", orm.DRMySQL)
```
# 连接Msql数据库
~~~
orm.RegisterDataBase("default", "mysql", "root:root@orm_test?charset=utf8")
~~~
default为数据库别名,这是不能更改的。如果有多个数据库,除第一个外的可以取其他名字。
`用户名:密码@tcp(127.0.0.1:3306)/database_name?charset=utf8`
#### RegisterDriver
三种默认数据库类型
~~~
// For version 1.6
orm.DRMySQL
orm.DRSqlite
orm.DRPostgres
// < 1.6
orm.DR_MySQL
orm.DR_Sqlite
orm.DR_Postgres
~~~
~~~
// 参数1 driverName
// 参数2 数据库类型
// 这个用来设置 driverName 对应的数据库类型
// mysql / sqlite3 / postgres 这三种是默认已经注册过的,所以可以无需设置
orm.RegisterDriver("mysql", orm.DRMySQL)
~~~
#### RegisterDataBase
ORM 必须注册一个别名为`default`的数据库,作为默认使用。
ORM 使用 golang 自己的连接池
~~~
// 参数1 数据库的别名,用来在 ORM 中切换数据库使用
// 参数2 driverName
// 参数3 对应的链接字符串
orm.RegisterDataBase("default", "mysql", "root:root@/orm_test?charset=utf8")
// 参数4(可选) 设置最大空闲连接
// 参数5(可选) 设置最大数据库连接 (go >= 1.2)
maxIdle := 30
maxConn := 30
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 默认使用 time.Local 本地时区
* 作用于 ORM 自动创建的时间
* 从数据库中取回的时间转换成 ORM 本地时间
如果需要的话,你也可以进行更改
~~~
// 设置为 UTC 时间
orm.DefaultTimeLoc = time.UTC
~~~
ORM 在进行 RegisterDataBase 的同时,会获取数据库使用的时区,然后在 time.Time 类型存取时做相应转换,以匹配时间系统,从而保证时间不会出错。
**注意:**
* 鉴于 Sqlite3 的设计,存取默认都为 UTC 时间
* 使用 go-sql-driver 驱动时,请注意参数设置
从某一版本开始,驱动默认使用 UTC 时间,而非本地时间,所以请指定时区参数或者全部以 UTC 时间存取
例如:`root:root@/orm_test?charset=utf8&loc=Asia%2FShanghai`
参见[loc](https://github.com/go-sql-driver/mysql#loc)/[parseTime](https://github.com/go-sql-driver/mysql#parsetime)
- go环境搭建
- 解决go get网络慢的问题
- beego的安装
- bee的安装
- 编辑器
- go module
- 配置文件详解
- 配置文件其他说明
- 路由方法
- 路由
- 数据校验
- 校验函数
- 页面跳转
- 获取前端数据
- json文件的获取
- xsrf的用法
- xsrf的防护
- srfs和json的搭配
- flash的用法
- 过滤器
- url反转
- 各类数据的处理
- 模板函数
- 内置模板函数
- 自定义模板函数
- 模板
- 模板处理
- 模板渲染
- 视图文件的处理
- 静态文件
- 请求方式判断
- 验证码
- 另一种方法
- 分页类
- session
- 登录判断
- orm模块
- 使用方法
- mysql的安装
- 安装orm及驱动
- 建立模型
- 自定义模型
- 增删改查
- 高级查询
- 常见问题汇总
- 代码收藏
- 打包部署
- go build打包
- utils收藏
- 新goer容易犯的错
- 字符串操作