mysql生成app接口_MySQL一键生成实体文件的神器-ginbro

Java转过来的同学对Mybatis的使用肯定不陌生,特别是对一堆表去生成相应的dao和entity的时候使用Mybatis generator所带来的感触,无比深刻。前面我们也讲过原生的数据库使用,讲过gorm的使用,无论是原生的还是第三方的数据库工具,都是需要我们手动的写struct和相应的CRUD的。今天说的这一款插件跟Java中的Mybatis generator一样,都是能帮我们简化表与实体对应关系。

安装

go get github.com/dejavuzhou/ginbro

默认安装到了$GOPATH/bin中。

使用

接下来使用如下方式去连接你的数据库,以下拿MYSQL数据库示例:

ginbro gen -u userName -p pwd -a "IP:port" -d databaseName -o "projectName"

上述命令表示连接相应的数据库,用户名密码,对应的库名。最后是你想生成的工程名称。

相应的参数:

Flags:

--config string 指定config文件名 (default is $HOME/ginbro.yaml)

-h, --help help for ginbro

-a, --mysqlAddr string MySQL host:port (default "127.0.0.1:3306")

-c, --mysqlCharset string MySQL charset (default "utf8")

-d, --mysqlDatabase string MySQL database name

-p, --mysqlPassword string MySQL password (default "password")

-u, --mysqlUser string MySQL user name (default "root")

工程默认生成到$GOPATH/src目录下。

工程结构如下:

demo

config/ 配置文件所在目录

handlers/ 使用gin 生成对http接口

models/ 数据库表对应的实体

static/ 静态文件

swagger/ swagger

tasks/ 定时任务相关

main.go 启动类

config.toml 主配置文件

运行main函数,控制台可以看到swagger的访问地址:

访问swagger你能看到给你生成了一些表对应的CRUD的接口。

ginbro 生成app代码包含功能简介

生成完善RESTful APIs 应用

自动生成完善的Swagger文档

自动生成数据库表的模型和标注

支持 JWT Authorization Bearer 身份验证 and JWT 中间件

支持登陆防火墙

支持静态资源替代nginx

可配置的跨域cors中间件

用户友好的自定义配置

支持定时任务

支持图形工具GUI

内置高效率的内存数据库

依赖框架

go get github.com/gin-contrib/cors

go get github.com/gin-contrib/static

go get github.com/gin-gonic/autotls

go get github.com/gin-gonic/gin

go get github.com/sirupsen/logrus

go get github.com/spf13/viper

go get github.com/spf13/cobra

go get github.com/go-redis/redis

go get github.com/go-sql-driver/mysql

go get github.com/jinzhu/gorm

go get github.com/dgrijalva/jwt-go

gin框架相关,viper配置文件解析框架,gorm数据库框架。

开发计划

已完成:

Auth 和 JWT middleware

支持一键生产jwt密码验证

分页总数做mem缓存

json不现实password等隐私字段

生成友好的.gitignore

go test 单元测试

完善go doc

未完成:

支持MongoDB数据库

更具体数据映射关联模型

支持PostgreSQL数据库

支持生成gRPC服务

更详细的gorm tag信息

swaggerDoc参数说明继续优化

支持其他语言框架(php-laravel/lumne ,python flask …)

sqlite

注意

mysql表中没有id/ID/Id/iD字段将不会生成路由和模型

json字段 在update/create的时候 必须使可以序列号的json字符串(eg0:"{}" eg1:"[]"),否则mysql会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值