源码请在评论区评论发邮件
概述
gorm1是一个非常好用的go orm库,特将常用的操作做封装:
用接口表示如下:
type GormWrapper interface {
TableName() string //表面
Insert() error //插入新行
Update(kv map[string]interface{
}) error //更新指定指定属性或全部
FindOne(m *{
$MODELNAME}) error //查找
Query(kv map[string]interface{
}, limit uint32, order map[string]string) (models []*{
$MODELNAME}, err error) //查询
Pagination(kv map[string]interface{
}, page uint32, pageSize uint32) (*{
$MODELNAME}Paginator, error) //分页查询
}
以下都围绕上面功能展开
前期准备
go get -u github.com/jinzhu/gorm
go get -u github.com/spf13/viper
go get -u github.com/go-sql-driver/mysql
viper是以用于获取配置文件配置项的库
目录结构
demo
|_bin #build的可执行文件存放目录
|_config #配置
|_main.json #配置文件
|_reg.go #配置解析
|_gmodels
|_gen # 解析器源码和组件脚本
|___|_build.sh #gen.go