一個解放雙手、提高工作效率的代碼生成器!

来源:https://www.cnblogs.com/codechen8848/archive/2023/11/22/17848554.html
-Advertisement-
Play Games

一個提供互動式的Web UI用於生成相容MyBatisPlus框架的相關功能代碼的工具,代碼生成包括Entity、Mapper、Mapper.xml、Service、Controller等。 ...


大家好,我是Java陳序員

要說現在Java後端開發中,最火的框架肯定是SpringBoot

而持久層的框架首推MyBatis,MyBatisPlus作為MyBatis的增強框架,其強大的CURD能力,被廣大的開發者所喜愛!

SpringBoot+MyBatisPlus可以說是王炸級別的組合!

今天給大家介紹一個可以快速生成後端代碼的工具,相容SpringBootMyBatisPlus框架!

mybatis-plus-generator-ui一個提供互動式的Web UI用於生成相容MyBatisPlus框架的相關功能代碼的工具。

代碼生成包括EntityMapperMapper.xmlServiceController等。

可以自定義模板以及各類輸出參數,也可通過SQL查詢語句直接生成代碼。

項目使用

引入依賴:

<dependency>
    <groupId>com.github.davidfantasy</groupId>
    <artifactId>mybatis-plus-generator-ui</artifactId>
    <version>2.0.5</version>
    <scope>test</scope>
</dependency>

編寫主啟動類:

public class MyBatisPlusGenerator {

    public static void main(String[] args) {
        GeneratorConfig generatorConfig = GeneratorConfig.builder()
                // 資料庫連接地址
                .jdbcUrl("jdbc:mysql://localhost:3306/second_kill?serverTimezone=Asia/Shanghai&characterEncoding=utf-8")
                // 資料庫用戶名
                .userName("root")
                // 資料庫密碼
                .password("root")
                // 資料庫驅動
                .driverClassName("com.mysql.cj.jdbc.Driver")
                // 資料庫 schema,MySQL,PGSQL,ORACLE,DB2 類型的資料庫需要指定
                .schemaName("")
                // 自定義各類文件名生成規則
                .nameConverter(new NameConverter() {
                    @Override
                    public String controllerNameConvert(String entityName) {
                        return this.entityNameConvert(entityName) + "Controller";
                    }

                    @Override
                    public String serviceNameConvert(String entityName) {
                        return this.entityNameConvert(entityName) + "Service";
                    }

                    @Override
                    public String mapperNameConvert(String entityName) {
                        return this.entityNameConvert(entityName) + "Mapper";
                    }
                })
                // 所有生成 Java 文件的父級包名,也可以在 UI 界面上配置
                .basePackage("com.codechen.scaffold")
                // UI 界面埠
                .port(9090)
                .build();
        MybatisPlusToolsApplication.run(generatorConfig);
    }
}

運行啟動後,瀏覽器訪問:

http://ip:9090

主要功能

數據表的瀏覽和查詢: 載入數據源中配置的資料庫表信息,可以選擇一張或多張表生成模板代碼
數據表瀏覽查詢

代碼模板文件配置: 工具內置 EntityMapperServiceController 等 6 種類型代碼模板,可以個性化修改,也可以手動上傳模板進行配置
代碼模板文件配置

代碼模板生成基本配置:
代碼模板生成基本配置

代碼模生成策略配置:
代碼模生成策略配置

代碼生成: 可以指定作者名、功能模塊名、生成哪些文件等
代碼生成

SQL 生成代碼: 可以通過手寫 SQL 轉成 Java 代碼
Img

SQL 生成代碼配置: 可以指定作者名、是否啟用 LombokMapper 文件名等等
SQL 生成代碼配置

總結

這個代碼生成器的功能,大部分能滿足我們日常開發需要!

我們只需要在項目中引入依賴,指定數據源,做一些配置,即可在 UI 界面上快速生成代碼。解放我們的雙手,提高工作效率!

美中不足的是,這個工具不能在頁面上直接配置數據源或者資料庫,導致我們需要硬編碼的修改資料庫配置信息

最後,貼上項目地址

https://github.com/davidfantasy/mybatis-plus-generator-ui

最後

推薦的開源項目已經收錄到GitHub項目,歡迎Star

https://github.com/chenyl8848/great-open-source-project

或者訪問網站,進行線上瀏覽:

https://chencoding.top:8090/#/

大家的點贊、收藏和評論都是對作者的支持,如文章對你有幫助還請點贊轉發支持下,謝謝!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • SSL 連接簡介 SSL(Secure Sockets Layer)是一種用於確保網路通信安全性的加密協議,廣泛應用於互聯網上的數據傳輸。在數據爬取過程中,爬蟲需要與使用 HTTPS 協議的網站進行通信,這就牽涉到了 SSL 連接。本文將深入研究 Request 爬蟲中的 SSL 連接問題,並提供解 ...
  • Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介紹Calendar日曆類型的幾種常見方法以及部分理論知識 🍉歡迎點贊 👍 收藏 ⭐留言評論 📝私信必回喲😁 🍉博主收將持續更新學習記錄獲,友友們有任何問題可以在評論區留言 ⭐什麼是Calendar日曆類型? Calendar類是一 ...
  • filter, reduce, 和 map 是Python中用於對集合數據進行處理和轉換的內置函數。它們分別用於篩選、歸約和映射集合中的元素。 filter 函數: filter(function, iterable) 用於篩選集合中的元素。它接受一個函數 function 和一個可迭代的對象 it ...
  • 在數據科學計算、機器學習、以及深度學習領域,Python 是最受歡迎的語言。Python 在數據科學領域,有非常豐富的包可以選擇,numpy、scipy、pandas、scikit-learn、matplotlib。 但這些庫都僅僅受限於單機運算,當數據量很大時,比如50GB甚至500GB的數據集, ...
  • 創建資料庫 (xxl-job) 導入相關表 Sql SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- -- Table structure for xxl_job_group -- DROP TABLE IF EXISTS `xxl_job_grou ...
  • 原文鏈接:https://openaigptguide.com/grok-ai/ Grok AI是由馬斯克推出的一款高級別的人工智慧大語言模型,旨在幫助軟體開發者以不同的口頭語言交流和表達。它是基於多種深度學習大規模固定模型架構,如ELMo、BERT和GPT,以及更多新的模式,使軟體開發者能夠快速設 ...
  • 公眾號「架構成長指南」,專註於生產實踐、雲原生、分散式系統、大數據技術分享。 在本教程中,您將通過大量示例來學習 Java 8 Stream API。 Java 在 Java 8 中提供了一個新的附加包,稱為 java.util.stream。該包由類、介面和枚舉組成,允許對元素進行函數式操作。 您 ...
  • 主要介紹了Java的Spring框架中的註解編程。第一章首先介紹了註解編程的概念,即在類或方法上添加特定的註解來完成特定功能的開發。然後解釋了為什麼要學習註解編程,主要原因是註解開發方便且與Spring框架的發展潮流相符合。接著介紹了註解的作用,包括替換XML配置和替換介面實現調用雙方的契約性。第四... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...