代碼生成平臺XXL-CODE-GENERATOR 原

《代碼生成平臺XXL-CODE-GENERATOR》

GitHub release License donate

一、簡介

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-generatorDownload
https://gitee.com/xuxueli0323/xxl-code-generatorDownload

技術交流

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.

捐贈

無論金額多少都足夠表達您這份心意,非常感謝 :) 前往捐贈

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章