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 资源下载
- JDK8 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
- Maven http://maven.apache.org/download.cgi
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接口图)
- 使用http://localhost:8080 访问(jbot界面图)
- 生成的项目的效果图(使用http://localhost:8080/dnc/swagger-ui.html 访问)
- 生成的项目结构
- 生成的项目dao
- 生成的项目entity
- 生成的项目mapper
- 生成的项目markdown接口文档
- 生成的项目示例
https://github.com/wllfengshu/jbot-dnc
本项目完全开源,大家可以直接使用本项目,也可以在本项目的基础上进行修改和完善。如果觉得本项目能给您带来方便,请在github中点亮star,谢谢大家的支持。