mysql数据库一行命令生成GIN+GORM RESTful APIs Golang应用

栏目: Go · 发布时间: 5年前

内容简介:Ginbo,GinBro,Gimbo,GimBro,Jimbo,GinOrm or GinGorm您可以通过如下的方式安装 bee 工具:安装完之后,

一行命令根据 mysql 数据库生产RESTful APIs APP

Ginbo,GinBro,Gimbo,GimBro,Jimbo,GinOrm or GinGorm

Feature

  • 自动生成完善的swagger(postman)文档
  • 可以server SPA应用(比如vuejs全家桶)
  • 快速使用golang+gin+gorm改造依赖mysql项目

ginbo工具安装

您可以通过如下的方式安装 bee 工具:

go get github.com/dejavuzhou/ginbo

安装完之后, ginbo 可执行文件默认存放在 $GOPATH/bin 里面,所以您需要把 $GOPATH/bin 添加到您的环境变量中,才可以进行下一步。 如何添加环境变量,请自行搜索 如果你本机设置了 GOBIN ,那么上面的命令就会安装到 GOBIN 下,请添加 GOBIN 到你的环境变量中

使用

ginbo gen -u root -p PASSWORD -a "127.0.0.1:3306" -d dbname -o "github.com/mojocn/apiapp"

生成新project目录树 ginbo-son DEMO代码

C:\Users\zhouqing1\go\src\github.com\mojocn\apiapp>tree /f /a
Folder PATH listing
Volume serial number is 8452-D575
C:.
|   2018-11-15-app.log
|   config.toml
|   main.go
|   readme.md
|
+---config
|       viper.go
|
+---handlers
|       gin.go
|       handler_wp_litespeed_img_optm.go
|       handler_wp_litespeed_optimizer.go
|       handler_wp_posts.go
|       handler_wp_users.go
|       handler_wp_yoast_seo_links.go
|
+---models
|       db.go
|       model_wp_litespeed_img_optm.go
|       model_wp_litespeed_optimizer.go
|       model_wp_posts.go
|       model_wp_users.go
|       model_wp_yoast_seo_links.go
|
+---static
|   |   .gitignore
|   |   index.html
|   |   readme.md
|   |
|   \---index_files
|           jquery.js.download
|           style.css
|           syntax.css
|
\---swagger
        .gitignore
        doc.yml
        favicon-16x16.png
        favicon-32x32.png
        index.html
        oauth2-redirect.html
        readme.md
        swagger-ui-bundle.js
        swagger-ui-standalone-preset.js
        swagger-ui.css
        swagger-ui.js

命令参数说明

ginbo gen -h
generate a RESTful APIs app with gin and gorm for gophers. For example:
        ginbo gen -u eric -p password -a "127.0.0.1:3306" -d "mydb"

Usage:
  create gen [flags]

Flags:
  -a, --address string    mysql host:port (default "dev.mojotv.com:3306")
  -l, --appAddr string    app listen Address eg:mojotv.cn, use domain will support gin-TLS (default "127.0.0.1:5555")
  -c, --charset string    database charset (default "utf8")
  -d, --database string   database name (default "dbname")
  -h, --help              help for gen
  -o, --out string        golang project package name of your output project. eg: github.com/awesome/my_project, the project will be created at $GOPATH/src/github.com/awesome/my_project (default "github.
com/dejavuzhou/gin-project")
  -p, --password string   database password (default "Password")
  -u, --user string       database user name (default "root")

环境

  • 我的开发环境
    • Windows 10 专业版 64位
    • go version go1.11.1 windows/amd64
    • mysql 数据库 <= 5.7

依赖

go get -u github.com/gin-contrib/cors
go get -u github.com/gin-contrib/static
go get -u github.com/gin-gonic/autotls
go get -u github.com/gin-gonic/gin
go get -u github.com/sirupsen/logrus
go get -u github.com/spf13/viper
go get -u github.com/spf13/cobra
go get -u github.com/go-redis/redis
go get -u github.com/go-sql-driver/mysql
go get -u github.com/jinzhu/gorm

开发计划

  • [ ] 支持PostgreSQL数据库
  • [ ] 支持一键生产jwt密码验证
  • [ ] 支持 MongoDB 数据库
  • [ ] 更具数据映射关联模型
  • [ ] 分页总数做 redis 缓存
  • [ ] 支持生成gRPC服务
  • [ ] 更详细的gorm tag信息
  • [ ] json不现实password等隐私字段
  • [ ] swaggerDoc参数说明继续优化
  • [ ] 生成友好的.gitignore
  • [ ] 完善go doc

注意

  • mysql表中没有id/ID/Id/iD字段将不会生成路由和模型
  • json字段 在update/create的时候 必须使可以序列号的json字符串,否则mysql会报错

致谢

请各位大神不要吝惜提 issue 同时附上数据库表结构文件


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

人工智能时代

人工智能时代

[ 美]杰瑞•卡普兰(Jerry Kaplan) / 李盼 / 浙江人民出版社 / 2016-4-1 / CNY 59.90

 当机器人霸占了你的工作,你该怎么办?机器人犯罪,谁才该负责?人工智能时代,人类价值如何重新定义?  在《人工智能时代》一书中,智能时代领军人、硅谷连续创业者杰瑞·卡普兰指出:智能时代的到来,给人类社会带来了两大灾难性冲击:持续性失业与不断加剧的贫富差距。机器正在很大程度上替代人类的工作,不管你是蓝领还是白领。而针对未来社会将要发生的这些问题,卡普兰在《人工智能时代》一书中从企业、税收和......一起来看看 《人工智能时代》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具