教程:從數(shù)據(jù)庫表一鍵生成完整CRUD代碼)
摸魚低代碼代碼生成實戰(zhàn)教程從數(shù)據(jù)庫表一鍵生成完整CRUD代碼【免費下載鏈接】mfish-nocode摸魚低代碼平臺是一款致力于讓開發(fā)像摸魚一樣輕松的低代碼/無代碼平臺。首創(chuàng)微服務單體服務一體化架構(gòu)?;赟pringBoot4、Spring Ai、Vue3等最新前后端技術(shù)棧。已用于多個成熟項目學習和實戰(zhàn)兩不誤。我們希望打破技術(shù)門檻讓程序員和非程序員都能快速構(gòu)建業(yè)務系統(tǒng)提升效率釋放創(chuàng)造力。項目地址: https://gitcode.com/gh_mirrors/mf/mfish-nocode摸魚低代碼平臺mfish-nocode是一款致力于讓開發(fā)像摸魚一樣輕松的低代碼/無代碼平臺其代碼生成功能可以直接讀取數(shù)據(jù)庫表結(jié)構(gòu)一鍵生成實體類、Mapper、Service、Controller 等完整 CRUD 代碼。本文面向新手帶你從零完成一次真實的代碼生成實戰(zhàn) 。為什么需要代碼生成日常開發(fā)中一個業(yè)務模塊往往要重復寫實體類、Mapper 接口與 XML、Service 接口與實現(xiàn)、Controller、前端頁面。一套下來幾十個文件結(jié)構(gòu)幾乎一樣純屬體力活。摸魚低代碼平臺的代碼生成器把這件事變成了三步走配置一個數(shù)據(jù)庫連接選擇要生成的表填寫少量參數(shù)預覽、下載 ZIP 或一鍵保存到本地工程5 分鐘就能拿到一套可以直接編譯運行的標準 CRUD 代碼讓你把時間花在真正的業(yè)務邏輯上。代碼生成的實現(xiàn)原理30 秒了解平臺內(nèi)部由兩個核心模塊協(xié)作完成了解原理有助于你排錯數(shù)據(jù)源連接模塊位于mf-common/mf-common-dblink/負責連接 MySQL、Oracle、PostgreSQL、SQL Server 等數(shù)據(jù)庫讀取表名、字段名、字段類型和表注釋等元數(shù)據(jù)核心服務見mf-common/mf-common-dblink/src/main/java/cn/com/mfish/common/dblink/service/TableService.java代碼生成模塊位于mf-common/mf-common-code/使用 FreeMarker 模板引擎把表結(jié)構(gòu)數(shù)據(jù)渲染成代碼文件核心工具類是mf-common/mf-common-code/src/main/java/cn/com/mfish/common/code/common/FreemarkerUtils.java代碼構(gòu)建服務位于mf-business/mf-sys/src/main/java/cn/com/mfish/sys/service/CodeBuildService.java提供新增配置、預覽代碼、下載 ZIP、保存到本地、創(chuàng)建菜單等能力一句話概括連接數(shù)據(jù)庫 → 讀取表結(jié)構(gòu) → FreeMarker 模板渲染 → 輸出完整 CRUD 代碼包。實戰(zhàn)前的準備工作1. 獲取項目源碼git clone https://gitcode.com/gh_mirrors/mf/mfish-nocode2. 初始化數(shù)據(jù)庫在平臺中代碼生成屬于低代碼中心的一部分。單實例模式下只需導入一個庫單實例導入db/mfish_nocode.sql微服務需導入mf_config.sql、mf_oauth.sql、mf_system.sql、mf_nocode.sql等分庫腳本3. 啟動項目并登錄在mf-start/mf-start-boot/目錄下找到MfNoCodeStart啟動類運行微服務部署方式請參考官方文檔啟動成功后訪問 Swagger 接口文檔http://localhost:8888/swagger-ui/index.html平臺默認賬號admin登錄后即可在菜單樹中看到低代碼 → 代碼生成入口代碼構(gòu)建相關(guān)的后端能力均由系統(tǒng)中心模塊承載。三步生成完整 CRUD 代碼第一步添加數(shù)據(jù)庫數(shù)據(jù)源進入平臺后先在數(shù)據(jù)源管理中添加你的業(yè)務數(shù)據(jù)庫連接填入 JDBC 地址、賬號、密碼。平臺會通過連接池Druid/Hikari與數(shù)據(jù)庫建立連接連接成功后會自動列出該庫下的所有表。 連接參數(shù)配置說明可見mf-common/mf-common-dblink/src/main/java/cn/com/mfish/common/dblink/entity/DataSourceOptions.java第二步填寫代碼生成參數(shù)選擇要生成的表填寫以下參數(shù)參數(shù)定義見mf-common/mf-common-code/src/main/java/cn/com/mfish/common/code/req/ReqCode.java參數(shù)必填說明數(shù)據(jù)庫連接?從數(shù)據(jù)源列表中選擇表名?要生成代碼的表包名否不填默認cn.com.mfish.sys實體類名否不填自動用表名駝峰化如t_user→TUser接口前綴否不填取包名最末一段如sys查詢條件否指定哪些字段參與列表查詢支持等值/模糊匹配表描述否不填自動讀取數(shù)據(jù)庫中的表注釋第三步預覽、下載或保存到本地配置完成后有三種產(chǎn)出方式在線預覽逐文件查看生成的代碼內(nèi)容確認無誤再落盤下載 ZIP一鍵打包下載解壓后即為完整工程結(jié)構(gòu)保存本地直接寫入你指定的前后端工程目錄后端代碼與前端代碼會自動分流保存保存路徑由配置項code.savePath.back、code.savePath.front指定生成的代碼包含什么一套完整的 CRUD 代碼包通常包括層生成內(nèi)容實體層實體類含字段、注釋、默認字段自動過濾數(shù)據(jù)層Mapper 接口 MyBatis XML 映射文件業(yè)務層Service 接口 ServiceImpl 實現(xiàn)增刪改查、分頁接口層Controller標準 REST 風格 CRUD 接口前端對應的頁面/視圖代碼輸出到前端目錄幾個貼心的細節(jié) ?默認字段自動處理id、創(chuàng)建時間等公共字段不會重復生成業(yè)務代碼同時會自動識別主鍵類型字段自動駝峰化數(shù)據(jù)庫下劃線命名自動轉(zhuǎn)為 Java 駝峰命名注釋自動繼承字段、表的中文注釋會寫入生成代碼的 Javadoc查詢條件定制通過查詢條件配置可指定哪些字段參與列表搜索支持字典組件聯(lián)動想改模板FreeMarker 模板定制平臺使用 FreeMarker 模板引擎生成代碼模板文件位于mf-common/mf-common-code/src/main/resources/template/目錄模板 Key 通過配置項code.template統(tǒng)一管理見mf-common/mf-common-code/src/main/java/cn/com/mfish/common/code/config/properties/FreemarkerProperties.java。如果你們團隊有自己的代碼規(guī)范比如統(tǒng)一的異常風格、分頁參數(shù)只需要修改模板文件即可無需改動任何 Java 代碼——這就是生成代碼可被二次定制的關(guān)鍵設計。常見問題FAQQ1提示包名格式不規(guī)范包名需符合 Java 包名規(guī)范如cn.com.mfish.sys不能以下劃線開頭。Q2提示未獲取到字段信息檢查數(shù)據(jù)源連接是否可用、表名與表前綴schema是否正確。Q3單體和微服務兩種模式都能用嗎可以。平臺首創(chuàng)微服務單體一體化架構(gòu)同一套代碼既支持單體啟動MfNoCodeStart也支持微服務部署代碼生成能力在兩種模式下完全一致。小結(jié)摸魚低代碼平臺的代碼生成器把一張表 → 一套 CRUD這件事做到了極致簡單配置數(shù)據(jù)源填寫表名與少量參數(shù)預覽、下載或保存到本地配合可定制的 FreeMarker 模板它既適合新手快速搭模塊也適合老手統(tǒng)一團隊代碼規(guī)范。現(xiàn)在就可以選一張你的業(yè)務表動手生成你的第一套 CRUD 代碼吧 【免費下載鏈接】mfish-nocode摸魚低代碼平臺是一款致力于讓開發(fā)像摸魚一樣輕松的低代碼/無代碼平臺。首創(chuàng)微服務單體服務一體化架構(gòu)。基于SpringBoot4、Spring Ai、Vue3等最新前后端技術(shù)棧。已用于多個成熟項目學習和實戰(zhàn)兩不誤。我們希望打破技術(shù)門檻讓程序員和非程序員都能快速構(gòu)建業(yè)務系統(tǒng)提升效率釋放創(chuàng)造力。項目地址: https://gitcode.com/gh_mirrors/mf/mfish-nocode創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考