## 使用后端代碼生成器共需要兩步(默認JPA代碼生成)
> 使用代碼生成器可不運行項目(自動生成表需要啟動項目),這里為啟動項目后生成代碼的演示
* 第一步:輸入實體類名生成代碼
* 在`cn.exrick.xboot.generator.XbootGenerator`中輸入你的實體類名后運行主函數即可,當然可修改其他配置信息(若各文件已存在,不會覆蓋生成)

* 運行后提示生成成功

* 若生成錯誤可刪除剛生成的代碼

* 項目已運行且已使用熱更新工具,生成代碼后查看日志稍等片刻,可以在數據庫看到JPA已幫我們建好了表,已包含XBootBaseEntity通用字段(表名根據實體類名駝峰法轉換)

* 第二步:輸入字段
* 我們找到剛生成的實體類,輸入需要的字段,@ApiModelProperty為swagger接口文檔注釋,還可以使用@Column注解做字段標注,詳見文末說明,若不想入庫的字段可以加上相應注解,見基本配置文檔

* 稍等片刻熱更新后,我們可以看到數據庫中字段變化

* 到此一個實體類的基本增刪改接口就已經完成了,打開在線接口文檔即可進行測試[http://localhost:8888/swagger-ui.html](http://localhost:8888/swagger-ui.html)

#### 樹形結構相關代碼生成
* 該字段設為true后將自動生成樹形結構相關所需添加接口以及字段
~~~
/**
* 是否生成樹形結構相關接口
* 建議僅需修改
*/
private static final Boolean isTree = false;
~~~
* 可生成接口預覽

#### JPA工作流相關代碼生成(完整版)
* 該字段設為true后將自動生成Activiti相關所需添加接口以及字段
~~~
/**
* 是否生成關聯工作流相關接口
* 建議僅需修改
*/
private static final Boolean activiti = false;
~~~
#### @Column注解補充說明
~~~
unique屬性表示該字段是否為唯一標識,默認為false。如果表中有一個字段需要唯一標識,則既可以使用該標記,也可以使用@Table標記中的@UniqueConstraint。
nullable屬性表示該字段是否可以為null值,默認為true。
insertable屬性表示在使用“INSERT”腳本插入數據時,是否需要插入該字段的值。
updatable屬性表示在使用“UPDATE”腳本插入數據時,是否需要更新該字段的值。insertable和updatable屬性一般多用于只讀的屬性,例如主鍵和外鍵等。這些字段的值通常是自動生成的。
columnDefinition屬性表示創建表時,該字段創建的SQL語句,一般用于通過Entity生成表定義時使用。
table屬性表示當映射多個表時,指定表的表中的字段。默認值為主表的表名。有關多個表的映射將在本章的5.6小節中詳細講述。
length屬性表示字段的長度,當字段的類型為varchar時,該屬性才有效,默認為255個字符。
precision屬性和scale屬性表示精度,當字段類型為double時,precision表示數值的總長度,scale表示小數點所占的位數。
~~~
## 新增Mybatis-Plus后端代碼生成器
* 找到`cn.exrick.xboot.generator.XbootMPGenerator`工具類,使用步驟同上,可自動生成相應mapper.xml空白文件至`resources/mapper`中

* 可生成接口預覽
