SpringBoot程式碼生成器,從此不用手擼程式碼
阿新 • • 發佈:2020-05-22
![](https://img2020.cnblogs.com/blog/109211/202005/109211-20200522155151292-1442620520.png)
## 前言
通常在開始開發專案的時候,首先會建立好資料庫相關表,然後根據表結構生成 `Controller、Service、DAO、Model`以及一些前端頁面。
如果開發前沒有強制的約束,而每個程式設計師都有自己的編碼習慣,最終會導致一個專案呈現出多種編碼風格。再有就是一些`CRUD`的列表功能,基本是沒啥挑戰性的,純粹苦力活,浪費時間。
所以,根據公司現有框架,開發一款統一風格的程式碼生成器還是很有必要的。
## 技術選型
開發框架:`SpringBoot+JPA`,考慮到會生成各種前後端程式碼檔案,這裡我們選用`freemarker`模板引擎來製作相應的模板。
## 實現思路
#### 獲取表結構資訊
首先我們定義一個實體類,為了使用方便,把表和欄位資訊放到了一個類中:
```
/**
* 表以及相關欄位資訊
*/
@Data
public class AppGen extends PageBean implements Serializable {
/**
* 表名
*/
private String tableName;
/**
* 實體類名
*/
private String entityName;
/**
* 實體類名 首字母小寫
*/
private String lowerEntityName;
/**
* 表備註
*/
private String tableComment;
/**
* 表字首
*/
private String prefix;
/**
* 功能描述
*/
private String function;
/**
* 列名
*/
private String columnName;
/**
* 實體列名
*/
private String entityColumnName;
/**
* 列描述
*/
private String columnComment;
/**
* 型別
*/
private String dataType;
/**
* 自增
*/
private Object columnExtra;
/**
* 長度
*/
private Object columnLength;
priv