《代码生成平台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、在线预览:代码生成后,支持实时在线预览,直接复制使用;

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.

捐赠

无论金额多少都足够表达您这份心意,非常感谢 :) 前往捐赠

转载于:https://www.cnblogs.com/xuxueli/p/8987347.html

代码生成平台Xxl-Code-Generator相关推荐

  1. 拖拽式Vue组件代码生成平台(LCG)新版详细介绍

    拖拽式Vue组件代码生成平台是一款小猴自研的Vue代码生成工具,英文全称:Low Code Generator,简称LCG.它也是一种LowCode解决方案.通过它可以快速完成Vue组件的代码骨架搭建 ...

  2. AS插件-Android Parcelable code generator.

    概述 生成实现了Parcelable接口的代码的插件 下载安装 1.在线安装 输入 Android Parcelable code generator ,点击安装即可,安装之后 重启,会看到上图选中部 ...

  3. OpenCASCADE:Mac OS X平台使用Code::Blocks构建OCCT

    OpenCASCADE:Mac OS X平台使用Code::Blocks构建OCCT OpenCASCADE:Mac OS X平台使用Code::Blocks构建OCCT 配置 生成项目 建造 Ope ...

  4. 一个智能省心的空空java代码生成平台上线了——前后端代码生成

    一.前言 今天这篇文章,是向大家推荐一款笔者研发的java web代码生成平台,它能为你节约不必要的开发时间,提升开发效率. 不需要登录,不需要注册!不需要登录,不需要注册!不需要登录,不需要注册! ...

  5. ean13解码 matlab,ean13: EAN13 Code Generator

    EAN13 Introduction JavaScript EAN13 code generator. DEMO Use the code ean13.js (main library) V2EX P ...

  6. 解决The code generator has deoptimised the styling of xxxx.js as it exceeds the max of 500kb

    解决The code generator has deoptimised the styling of xxxx.js as it exceeds the max of 500kb 1.需求背景 最近 ...

  7. 中间代码生成(Intermediate Code Generation)

    中间代码生成(Intermediate Code Generation) 申明语句的翻译 类型表达式 申明式语句翻译 简单赋值语句的翻译 数组引用的翻译 控制流语句的翻译 控制流语句及其SDT 布尔表 ...

  8. Auto Code Generator

    Auto Code Generator 前言 一.基本介绍 二.详细介绍 1,通过File->LoadFile 加载excel 配置表格,表格内配置了各个配置项的参数 如下图. 2,File-& ...

  9. eclipse的jmr code generator插件

    eclipse的jmr code generator插件 您可以使用模板(类似jsp)从数据库生成java代码. 编写模板并根据自己的项目设置任务,而不改变项目. 例如,可以在几分钟内生成CRUD. ...

最新文章

  1. 漫画:你真的懂Github吗?
  2. LintCode刷题——Largest Divisible Subset
  3. linux32内核下载rpm,Vivaldi TP4 for Linux Rpm (32bit)
  4. 【内核】linux内核启动流程详细分析
  5. 后盾网lavarel视频项目---自定义验证和自定义验证规则
  6. Python3 简明教程
  7. python如何创建函数对列表里的元素进行分类_列表(List)操作方法详解
  8. python小案例随机点名_python用tkinter实现一个简易能进行随机点名的界面
  9. URDF与xacro
  10. 七、VueJs 填坑日记之渲染一个列表
  11. Lunix网络编程之socket(客户端发送请求,服务器处理例如:排序,两人联机五子棋)
  12. 基于内容和用户画像的个性化推荐
  13. nginx处理redirect location端口丢失的问题
  14. 充电器类型检测实现代码分析
  15. SQL数据修复,SQL数据库修复,SQL数据库修复软件,SQL数据库恢复,SQL数据库日志恢复软件
  16. 蓝牙遥控器连接流程分析
  17. matlab 水平投影,matlab图像处理方面的问题。水平投影和垂直投影!
  18. 米家扫地机器人是石头代工_石头扫地机器人T6悬崖检测及障碍翻越功能体验:这都不会掉?...
  19. 用友出纳通服务器修改系统日期,用友T3软件出纳通里面如何修改账户的建账日...
  20. LINUX系统下ORACLE19C客户端安装步骤

热门文章

  1. vs2015通过ODBC连接SQLSERVER2012
  2. 【302天】跃迁之路——程序员高效学习方法论探索系列(实验阶段60-2017.12.04)...
  3. QComboBox可以随意设置itemData的数值
  4. 【NetApp】NetBoot的使用方法
  5. 迈克菲实验室:仅42%的网络安全专业人士使用共享威胁情报
  6. javaScript原型及继承
  7. Python自动化测试 (九)urllib2 发送HTTP Request
  8. Bluetooth协议栈
  9. TensorFlow Lite学习笔记
  10. Java并发编程—为什么 wait() 方法需要写在 while 里,而不是 if?