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接口圖)

swagger

  • 使用http://localhost:8080 訪問(jbot界面圖)

index

  • 生成的項目的效果圖(使用http://localhost:8080/dnc/swagger-ui.html 訪問)

index

  • 生成的項目結構

index

  • 生成的項目dao

index

  • 生成的項目entity

index

  • 生成的項目mapper

index

  • 生成的項目markdown接口文檔

index

  • 生成的項目示例

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

本項目完全開源,大家可以直接使用本項目,也可以在本項目的基礎上進行修改和完善。如果覺得本項目能給您帶來方便,請在github中點亮star,謝謝大家的支持。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章