Jbot代码生成器(一键生成swagger+springboot+spring+mybatis项目)

项目背景:
1、 正好逢着公司要开始做2.0项目的开发,所有项目都需要重构,由于之前一直在维护老的项目。老项目结构非常混乱,基本没有使用什么框架,项目性能差,可维护性低。所以就准备使用swagger+SSM来重构。
2、现在的项目大都是微服务架构,一般一个模块就是一个独立的服务,然后使用k8s启动多个实例,从而实现高可用。像我在公司就服务七八个小模块,在2.0的开发中,每个模块几乎都要重构,每次都要去创建一个ssm项目–>写rest层–>写service层–>写dao层…,感觉重复的工作太多了。我只想写业务逻辑,简单的增删改查我都不想写,于是就开发jbot项目。

项目地址:https://github.com/wllfengshu/jbot

1 项目介绍

jbot项目可以一键生成 swagger + springBoot + spring + mybatis 项目,单表的增删改查可以直接使用。

2 项目结构

jbot
├── web ── web模块,提供对外web接口
├── core ── 核心模块,负责生成目标项目
├── common ── 公共组件模块

3 技术选型

3.1 后端技术

技术 名称
SpringBoot 容器
MyBatis ORM框架
Druid 数据库连接池
Swagger2 接口测试框架
Maven 项目构建管理

注意:本项目还使用通用mapper、统一的自定义异常处理、统一的日志切面处理、docker容器管理、自动生成swagger接口文档和markdown文档

3.2 前端技术

技术 名称
jQuery 函式库
Bootstrap 前端框架
AngularJS JS框架

4 环境搭建

4.1 开发工具

  • MySql
  • idea或者eclipse

4.2 开发环境

  • Jdk8+
  • Mysql5.5+
  • Maven3.5+

4.3 本项目使用方法

  • 1、启动mysql,并且创建一个名为test的数据库(待生成项目实体类对应的表都必须在test库中创建好)

  • 2、设置jbot运行的环境变量

    - 数据库连接地址: db_url   eg:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false
    - 数据库用户名: db_username    eg:root
    - 数据库密码: db_paasword    eg:root
    

    注:如果不想设置环境变量,可以手动修改application.yml文件

  • 3、启动JbotApplication(直接在main方法上右键启动即可)

  • 4、使用浏览器打开http://localhost:8080/swagger-ui.html进行接口测试

  • 5、使用浏览器打开http://localhost:8080进入jbot主页面

4.4 资源下载

5 生成的目标项目规范约定

1、生成的entity、dao、service、serviceImpl、rest分别放到对应的包里,文件名称为表名首字母大写、去掉下划线、驼峰结构;
2、生成的entity的属性名为表字段名的驼峰形式;
3、serviceImpl放的在service包里的impl包里;
4、生成的rest包含swagger,可以使用http://localhost:8080/项目名/swagger-ui.html访问;
5、生成的每张表都对应“增删改查”的方法,可以直接使用;
6、请确保每张表的主键名为id(如果不为id,请手动在生成的entity中使用@Id指明主键);

注:本项目不支持联合主键,如果是联合主键,请参考自行百度,按照对应的方法修改本项目生成的目标项目

6 演示地址

演示地址:https://wllfengshu.github.io/jbot/

使用步骤:
(1)使用浏览器打开http://localhost:8080
(2)填写“项目名”
(3)填写“包名”
(4)填写数据库地址,并点击“测试连接”(可以支持自定义数据库地址)
(5)勾选待生成的表
(6)点击“生成项目”

7 预览图

  • 使用http://localhost:8080/swagger-ui.html 访问(jbot接口图)

Jbot代码生成器(一键生成swagger+springboot+spring+mybatis项目)

  • 使用http://localhost:8080 访问(jbot界面图)

Jbot代码生成器(一键生成swagger+springboot+spring+mybatis项目)

  • 生成的项目的效果图(使用http://localhost:8080/dnc/swagger-ui.html 访问)

Jbot代码生成器(一键生成swagger+springboot+spring+mybatis项目)

  • 生成的项目结构

Jbot代码生成器(一键生成swagger+springboot+spring+mybatis项目)

  • 生成的项目dao

Jbot代码生成器(一键生成swagger+springboot+spring+mybatis项目)

  • 生成的项目entity

Jbot代码生成器(一键生成swagger+springboot+spring+mybatis项目)

  • 生成的项目mapper

Jbot代码生成器(一键生成swagger+springboot+spring+mybatis项目)

  • 生成的项目markdown接口文档

Jbot代码生成器(一键生成swagger+springboot+spring+mybatis项目)

  • 生成的项目示例

https://github.com/wllfengshu/jbot-dnc

本项目完全开源,大家可以直接使用本项目,也可以在本项目的基础上进行修改和完善。如果觉得本项目能给您带来方便,请在github中点亮star,谢谢大家的支持。