## 产品依赖
`少依赖`: xorm除了依赖 github.com/go-xorm/core 之外不依赖其他第三方库
`易使用`: 通过连写操作, 可以通过很少的语句完成数据库操作
`功能全`: 支持缓存, 失误乐观锁, 多种数据库支持, 反转等等特性
## 创建ORM
```
package usexorm
import (
"github.com/go-xorm/xorm"
"fmt"
)
var engine *xorm.Engine
func Use() {
var err error
engine, err = xorm.NewEngine("mysql", "root:123456@/xormtest?charset=utf8")
if err == nil {
fmt.Println(err)
} else {
fmt.Println("success")
}
}
```
一般情况下如果只操作一个数据库, 只要创建一个engine即可.
engine是Goroutine安全的.
## 显示sql语句
```
engine.ShowSQL(true)
```
## 连接池
engine内部支持连接池接口和对应的函数。如果需要设置连接池的空闲数大小,可以使用`engine.SetMaxIdleConns()`来实现。
如果需要设置最大打开连接数,则可以使用`engine.SetMaxOpenConns()`来实现。
## 视频教程
常见用法指导 http://www.tudou.com/programs/view/HRUEtXXV_QM/
高级用法讲解 http://www.tudou.com/programs/view/Ye0SQF6zyLI/
- 命令行库cobra
- 用户路径检测go-homedir
- 配置解决方案viper(cobra配置用)
- 高效结构化日志库zap
- RPC框架grpc
- mongdb操作mgo
- ORM库xorm
- GRPCrest接口grpcgateway
- 使用gogoproto时grpcgateway的protobuf和json转换方法
- sync.Map
- zmq
- gogoproto
- go类型转换和类型断言
- go select用法详解以及定时器
- go并发资源竞争
- 官方命令行库flag
- 配置文件解析器 robig/config
- interface {} 接口
- goroutine && channel
- go 命名
- 类型switch
- 数据
- 初始化
- 指针方法 && 值方法
- 内嵌
- mqtt go实现
- grpc middleware