代碼生成平臺XXL-CODE-GENERATOR

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

GitHub release License donate

1、簡介

1.1 概述

XXL-CODE-GENERATOR 是一個 "controller/service/dao/mybatis/model" 多層的代碼生成平臺。只須要提供SQL,將會自動生成所有代碼。html

1.2 特性

  • 一、簡潔:界面操做,簡潔直觀,可快速上手;
  • 二、輕量級:僅需提供建表SQL,便可自動完成代碼生成,簡潔高效;
  • 三、多層代碼生成:自動生成 "controller/service/dao/mybatis/model" 多層代碼,參與到開發全流程;
  • 四、高效:從SQL到API接口,所有代碼均支持自動生成,極大提升生產力和效率;
  • 五、在線預覽:代碼生成後,支持實時在線預覽,直接複製使用;

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+

2、快速入門

第一步:編譯項目

項目目錄結構以下:前端

- xxl-code-generator
    - xxl-code-generator-core   :代碼生成的Core依賴,進行SQL解析等操做;
    - xxl-code-generator-admin  :代碼生成平臺,使用時,只須要部署該項目便可;

第二步:準備SQL

代碼生成,是以數據庫表爲維度進行生成。因此,須要準備好待生成代碼的表SQL腳本。 而後進入代碼生成平臺,將建表SQL腳本填寫到 "表結構信息" 輸入框便可。 (默認已經提供了一個供參考Demo表SQL腳本,可操做體驗下)vue

輸入圖片說明

第二步:生成代碼

點擊右上角 "生成代碼按鈕",便可完整多層代碼的生成,很是方便;java

輸入圖片說明

第三步:Finish

代碼生成後,可在界面查看和使用 "controller/service/dao/mybatis/model" 多層源代碼。部分截圖以下:react

輸入圖片說明 輸入圖片說明 輸入圖片說明 輸入圖片說明 輸入圖片說明 輸入圖片說明

3、整體設計

設計思想

jquery

ReturnT

統一接口返回數據類型,有利於接口對接與效率提高;所以生成的多層代碼交互時,採用統一ReturnT,源碼以下:git

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;
	}

}

4、版本更新日誌

版本 v0.0.1 新特性[2018-05-03]

  • 一、簡潔:界面操做,簡潔直觀,可快速上手;
  • 二、輕量級:僅需提供建表SQL,便可自動完成代碼生成,簡潔高效;
  • 三、多層代碼生成:自動生成 "controller/service/dao/mybatis/model" 多層代碼,參與到開發全流程;
  • 四、高效:從SQL到API接口,所有代碼均支持自動生成,極大提升生產力和效率;
  • 五、在線預覽:代碼生成後,支持實時在線預覽,直接複製使用;

版本 v0.0.2[迭代中]

  • 一、表字段comment不支持逗號問題修復;
  • 二、Docker基礎鏡像切換,精簡鏡像;
  • 三、修復註釋爲空頁面渲染報錯問題;

TODO LIST

  • 一、多模板支持:當前模板爲 "SpringMVC + Mybatis + Mysql" 技術棧;計劃新增不一樣代碼生成模板;
  • 二、擴展多層:目前支持生成 "controller/service/dao/mybatis/model" 層代碼;計劃新增前端代碼,如 "jquery、vuejs、react" 等;

5、其餘

5.1 項目貢獻

歡迎參與項目貢獻!好比提交PR修復一個bug,或者新建 Issue 討論新特性或者變動。github

5.2 用戶接入登記

更多接入的公司,歡迎在 登記地址 登記,登記僅僅爲了產品推廣。sql

5.3 開源協議和版權

產品開源免費,而且將持續提供免費的社區技術支持。我的或企業內部可自由的接入和使用。數據庫

  • Licensed under the GNU General Public License (GPL) v3.
  • Copyright (c) 2015-present, xuxueli.

捐贈

不管金額多少都足夠表達您這份心意,很是感謝 :) 前往捐贈

相關文章
相關標籤/搜索