Skip to content

jurentiancheng/mbp-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

mbp-generator

本项目是一个基于 Spring Boot 2.2 的微服务代码生成器,集成了 MySQL、MybatisPlus、Redis、Consul、OpenFeign 等主流组件,能够一键生成微服务架构的种子项目,助力快速开始微服务开发。

支持的技术栈

  • Spring Boot 2.2
  • MySQL
  • MybatisPlus
  • Redis
  • Consul
  • OpenFeign

生成模块结构

每次生成的微服务项目包含以下三个基础模块:

  • simple-client:服务间远程调用接口(OpenFeign 客户端)
  • simple-pojo:实体类、DTO、VO、枚举等通用数据结构
  • simple-service:业务服务实现,包含 Controller、Business、Service、DAO、配置等

1. 启动前的准备

项目生成的微服务器框架是基于SpringBoot2.x,同时依赖SprintCloud SR5 版本中的多个组件,还有其他三方组件(fastjson,hutools 等)所以为了统一管理依赖组件的版本,pom.xml 需要添加

 <parent>
      <groupId>com.easyapi</groupId>
      <artifactId>easy-starter-parent</artifactId>
      <version>1.1.1-SNOWFLAKEID-RELEASE</version>
      <relativePath /> <!-- lookup parent from repository -->
 </parent>

需要自行clone本组织管理的git仓库 https://github.com/jurentiancheng/springboot-easy-starter-parent clone完代码后请自行 deploy 到私域maven仓库。完成deploy后才能正常更新示例项目中的依赖项。

2. 本地启动

依赖 MySQL、Redis、Consul 修改 simple-service/src/main/resources/application-local.yml 数据库、Redis 配置 启动服务

cd simple-service
mvn clean package
java -jar target/simple-service-*.jar

3. 访问swagger文档

http://localhost:18000/v1/simple/doc.html

主要 API 说明 以 simple 资源为例,支持如下接口(详见 Swagger 文档):

  • GET /simple/page 分页查询
  • GET /simple/list 列表查询
  • GET /simple/{id} 根据ID查询详情
  • POST /simple/save 新增
  • POST /simple/saveBatch批量新增
  • PUT /simple/update 根据ID更新
  • DELETE /simple/batch 批量删除

所有接口均支持通过 Feign 客户端远程调用。

3. Docker 构建

cd simple-service
./dockerbuild.sh save  # save|push save: 导出本地镜像tar包;push: 推送镜像到私有Dockerhub

快速开始

  1. 启动本项目,访问前端页面,填写数据库连接信息。
  2. 选择需要生成代码的表,点击生成,即可下载包含 client、pojo、service 的微服务种子项目。
  3. 解压生成的代码,按需进行二次开发。

如需自定义生成模块的名称,可在 src/main/resources/generator.properties 文件中修改 moduleName 的值。

选择模块下需要生成代码的表

  1. 访问 http://localhost:8000,勾选需要生成的表,可一次选择多个表。

主要特性

  • 一键生成标准微服务三层结构(client/pojo/service)
  • 支持多种主流数据库(MySQL、Oracle、SQLServer、PostgreSQL、KingBase)
  • 集成 MybatisPlus,支持分页、条件查询等常用功能
  • 支持 Consul 注册与配置中心,OpenFeign 服务间调用
  • 可扩展模板,支持自定义代码生成

贡献与反馈

如有建议或问题,欢迎提交 Issue 或 PR。


本项目旨在提升微服务开发效率,生成的代码为标准种子项目,可直接用于实际开发或作为学习参考。 本项目基于github项目 https://github.com/renrenio/renren-generator 后端技术栈集成SpringBoot,MybatisPlus 时做了增强,在次特别鸣谢!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published