《代碼生成平臺XXL-CODE-GENERATOR》
一、簡介
1.1 概述
XXL-CODE-GENERATOR 是一個 "controller/service/dao/mybatis/model" 多層的代碼生成平臺。只需要提供SQL,將會自動生成全部代碼。
1.2 特性
- 1、簡潔:界面操作,簡潔直觀,可快速上手;
- 2、輕量級:僅需提供建表SQL,即可自動完成代碼生成,簡潔高效;
- 3、多層代碼生成:自動生成 "controller/service/dao/mybatis/model" 多層代碼,參與到開發全流程;
- 4、高效:從SQL到API接口,全部代碼均支持自動生成,極大提高生產力和效率;
- 5、在線預覽:代碼生成後,支持實時在線預覽,直接複製使用;
1.3 下載
文檔地址
源碼倉庫地址
源碼倉庫地址 | Release Download |
---|---|
https://github.com/xuxueli/xxl-code-generator | Download |
https://gitee.com/xuxueli0323/xxl-code-generator | Download |
技術交流
1.4 環境
- JDK:1.7+
二、快速入門
第一步:編譯項目
項目目錄結構如下:
- xxl-code-generator
- xxl-code-generator-core :代碼生成的Core依賴,進行SQL解析等操作;
- xxl-code-generator-admin :代碼生成平臺,使用時,只需要部署該項目即可;
第二步:準備SQL
代碼生成,是以數據庫表爲維度進行生成。所以,需要準備好待生成代碼的表SQL腳本。 然後進入代碼生成平臺,將建表SQL腳本填寫到 "表結構信息" 輸入框即可。 (默認已經提供了一個供參考Demo表SQL腳本,可操作體驗下)
第二步:生成代碼
點擊右上角 "生成代碼按鈕",即可完整多層代碼的生成,非常方便;
第三步:Finish
代碼生成後,可在界面查看和使用 "controller/service/dao/mybatis/model" 多層源代碼。部分截圖如下:
三、總體設計
設計思想
略
ReturnT
統一接口返回數據類型,有利於接口對接與效率提升;因此生成的多層代碼交互時,採用統一ReturnT,源碼如下:
import java.io.Serializable;
/**
* common return
* @author xuxueli 2015-12-4 16:32:31
*/
public class ReturnT<T> implements Serializable {
public static final long serialVersionUID = 42L;
public static final int SUCCESS_CODE = 200;
public static final int FAIL_CODE = 500;
public static final ReturnT<String> SUCCESS = new ReturnT<String>(null);
public static final ReturnT<String> FAIL = new ReturnT<String>(FAIL_CODE, null);
private int code;
private String msg;
private T data;
public ReturnT(int code, String msg) {
this.code = code;
this.msg = msg;
}
public ReturnT(T data) {
this.code = SUCCESS_CODE;
this.data = data;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
四、版本更新日誌
版本 v0.0.1 新特性[2018-05-03]
- 1、簡潔:界面操作,簡潔直觀,可快速上手;
- 2、輕量級:僅需提供建表SQL,即可自動完成代碼生成,簡潔高效;
- 3、多層代碼生成:自動生成 "controller/service/dao/mybatis/model" 多層代碼,參與到開發全流程;
- 4、高效:從SQL到API接口,全部代碼均支持自動生成,極大提高生產力和效率;
- 5、在線預覽:代碼生成後,支持實時在線預覽,直接複製使用;
版本 v0.0.2[迭代中]
- 1、表字段comment不支持逗號問題修復;
- 2、Docker基礎鏡像切換,精簡鏡像;
- 3、修復註釋爲空頁面渲染報錯問題;
TODO LIST
- 1、多模板支持:當前模板爲 "SpringMVC + Mybatis + Mysql" 技術棧;計劃新增不同代碼生成模板;
- 2、擴展多層:目前支持生成 "controller/service/dao/mybatis/model" 層代碼;計劃新增前端代碼,如 "jquery、vuejs、react" 等;
五、其他
5.1 項目貢獻
歡迎參與項目貢獻!比如提交PR修復一個bug,或者新建 Issue 討論新特性或者變更。
5.2 用戶接入登記
更多接入的公司,歡迎在 登記地址 登記,登記僅僅爲了產品推廣。
5.3 開源協議和版權
產品開源免費,並且將持續提供免費的社區技術支持。個人或企業內部可自由的接入和使用。
- Licensed under the GNU General Public License (GPL) v3.
- Copyright (c) 2015-present, xuxueli.
捐贈
無論金額多少都足夠表達您這份心意,非常感謝 :) 前往捐贈