MySQL一键生成实体文件的神器-ginbro
Java转过来的同学对Mybatis的使用肯定不陌生,特别是对一堆表去生成相应的dao和entity的时候使用Mybatis generator所带来的感触,无比深刻。前面我们也讲过原生的数据库使用,讲过gorm的使用,无论是原生的还是第三方的数据库工具,都是需要我们手动的写struct和相应的CRUD的。今天说的这一款插件跟Java中的Mybatis generator一样,都是能帮我们简化表与实体对应关系。
http://127.0.0.1:5555/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会报错