一、序言
UCode Cms 是一款Maven版的Java源代碼生成器,是快速構建專案的利器,代碼生成器模塊屬于可拆卸模塊,即按需引入,代碼生成器生成SSM(Spring、SpringBoot、MybatisPlus)風格的源代碼,
面試時經常提到面向物件編程,實際開發中常常是面向資料庫編程,隨著需求的快速變化,資料庫的庫表結構也需要相應變化,如何根據庫表結構的變化,快速回應到源代碼層次,是Java代碼生成器主要的關切點,
功能亮點
實時讀取庫表結構元資料資訊,比如表名、欄位名、欄位型別、注釋等,選中修改后的表,點擊一鍵生成,代碼成即可提現出表結構的變化,
單表快速轉化restful風格的API介面并對外暴露服務,對于百余張表的資料庫,使用代碼生成器讓開發事半功倍,
多表連接查詢,多表連接查詢默認不開啟,需要在全域檔案中手動配置,開啟后代碼生成器會自動讀取資料庫元資料資訊中的主外鍵關系,分別生成一對一、一對多、多對多風格的源代碼,
生成的代碼介面可通過Swagger暴露,
二、運行依賴服務
代碼生成器運行依賴Mysql資料庫、Redis服務,版本不限,
Mysql資料庫
Mysql資料庫中庫表結構分為兩部分,一是系統運行必要的系統表(跟代碼生成業務無關),二是用戶自定義的庫表,代碼生成將會讀取,
Redis服務
Redis服務跟代碼生成業務無關,系統中其它業務用到Redis,因此也依賴Redis服務,
三、快速入門使用
使用demo腳手架[cms demo專案],可直接跳轉到步驟三,腳手架是標準的Spring Web工程,內置少量配置資訊,用戶替換后可快速上手,
# 拉去腳手架,并初始化專案
git clone https://gitee.com/decsa/demo-code.git
1、前提條件
引入如下依賴是使用代碼生成器功能的前提條件,其中代碼生成器模塊在代碼生成完畢后,建議移出,
<!--ucode-cms核心依賴-->
<dependency>
<groupId>xin.altitude.cms</groupId>
<artifactId>ucode-cms-spring-boot-starter</artifactId>
<version>1.3.3</version>
</dependency>
<!--代碼生成器模塊(非必選)-->
<dependency>
<groupId>xin.altitude.cms.code</groupId>
<artifactId>ucode-cms-code-spring-boot-starter</artifactId>
<version>1.3.3</version>
</dependency>
2、全域配置
環境變數必須系結為開發環境,代碼生成器僅在開發模式下生效,打包時即使不移除相關Maven依賴,運行時在非開發環境時,相應代碼不加載,建議在打包時移除,
spring:
profiles:
active: dev
3、資料庫檔案
資料庫腳本有兩類:核心SQL和用戶自定義表結構,
sql/
├── cms(必選).sql // 核心腳本(必選)
匯入系統表后,用戶需自定義業務表,方可體驗代碼生成的功能,
4、連接資料庫
如果已經配置完資料庫連接,則可忽略此步驟
spring:
datasource:
# 主庫資料源
url: jdbc:mysql://localhost:3306/ucode-cms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 123456
5、可視化界面
訪問可視化界面操作需要生成代碼的表

6、重啟專案
勾選表結構,點擊生成,重啟專案,相應的代碼生效,訪問地址http://localhost:8080/doc.html訪問介面串列,

四、高級使用
在完成簡單入門體驗后,需要了解代碼生成的高級部分,即全域配置,在專案中搜索類名CodeProperties即可查看所有內置可供修改的引數,在全域yml檔案中覆寫默認值即可完成修改,按需配置,
單表處理
當全域配置ucode.code.joinQuery = false或者使用默認配置時,則僅處理單表結構,將表名、欄位名、欄位型別、備注資訊轉化為SSM風格的源代碼,
多表連接
當在全域配置ucode.code.joinQuery = true時,則手動開啟主外鍵查詢,系統會自動讀取表的主外鍵關系,并將其轉化為連接查詢的源代碼,
主要引數
| 引數 | 默認值 | 使用備注 |
|---|---|---|
ucode.code.projectDir |
空 | 用戶自定義多模塊專案需要指定專案名 |
ucode.code.removeTablePrefix |
false |
根據需要是否在生成代碼時移除表前綴 |
ucode.code.packageName |
xin.altitude.front |
配置用戶自己的包名 |
ucode.code.useLombok |
true |
默認使用Lombok |
ucode.code.filterSysTable |
true |
默認過濾不顯示系統表 |
ucode.code.joinQuery |
false |
是否使用連接查詢(默認單表查詢) |
ucode.code.xml.addXml |
false |
雖然說不建議使用XML檔案撰寫SQL,但仍提高可開啟開關 |
ucode.code.mapper.useCache |
true |
默認開啟二級快取,自定義業務快取可關閉 |
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/424873.html
標籤:Java
