low-code

low-code 是一款为 java 打造的低代码平台。

开源地址:https://github.com/houbb/low-code

特性

  • 支持基本的增删改查

  • 支持枚举值处理

  • 支持 EXCEL 导出

  • 代码一键生成

  • 生产代码一键清理

技术选型

springboot 容器

mybatis-plus+druid+mysql 数据库

vue+element-ui 页面

快速开始

需要

jdk 1.7+

maven 3.x+

mysql 5.7

配置调整

此处使用的是 mysql-5.7,数据库脚本见 mysql-5.7.sql

在 mysql 中执行上述脚本,默认的 mysql 登录信息为 root/123456。

如果需要调整,修改 application.yml 文件。

代码生成

执行 low-code-gen 模块中的 LowCodeGenerator#main() 方法,指定生成的表。

我们以用户表作为入门的例子:

create table user
(
id int unsigned auto_increment comment '自增主键' primary key,
user_id varchar(32) not null comment '用户标识',
user_name varchar(32) not null comment '用户名称',
remark varchar(64) not null comment '用户描述',
status varchar(1) not null default 'S' comment '用户状态',
app_name varchar(64) not null default 'system' comment '应用名称',
operator_name varchar(64) not null default 'system' comment '操作员名称',
create_time timestamp default CURRENT_TIMESTAMP not null comment '创建时间戳',
update_time timestamp default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间戳'
) comment '用户表' ENGINE=Innodb default charset=UTF8 auto_increment=1;

针对枚举值我们可以指定配置到 lc_enum_mapping 表中。

启动

直接运行 Application#main() 方法,即可启动应用。

生成示例

分支特性

v0.0.1-基本 dal 等实现

v0.0.2-实现增删改等功能

v0.0.3-实现分页查询

v0.0.4-实现 EXCEL 导出

v0.0.5-实现枚举值映射

拓展阅读

后期 Road-MAP

  • 根据 @TableId 获取对应的 id 字段

  • 批量删除

  • 新增/更新时过滤 id 和时间

  • 时间类型查询优化(date 控件)

  • 导入功能

  • 动态菜单 + 下载中心

  • EXCEL 导出枚举值处理

  • 枚举值的统一处理

  • 依赖名称生成更加优雅,变为首字母小写

  • 导出功能

  • 查询功能

数据源

  • 其他数据库支持

  • 其他前端语言支持

  • 其他后端语言支持

自动生成

  • gen-test-plugin 接入

  • swagger 接入

  • JAPIDocs 接入

可视化

  • 页面化

  • 高度定制化

low-code 低代码平台 java 代码自动一键生成工具的更多相关文章

  1. Android学习笔记_32_通过WebView实现JS代码与Java代码互相通信

    webview两种实现方法,覆盖onKeyDown()方法 缓存 WebSettings应用注意的几个问题 1.要实现JS代码与Java代码互相通信,需要通过Android的WebView控件,在视图 ...

  2. C代码调用Java代码

    C代码调用Java代码应用场景 复用已经存在的java代码 c语言需要给java一些通知 c代码不方便实现的逻辑(界面) 反射 //1.加载类字节码 Class clazz = Demo.class. ...

  3. 【持续更新】把.net代码转换为java代码的注意事项

    国内大多数大学的软件相关专业大多强制学生学习c和Java,但.net 的几个语言可以说是选学的. 由于visual studio在windows平台上使用相对方便,一些同学会在上大学的Java课之前自 ...

  4. spring jdbc分离数据库代码和java代码

    读取配置文件类 package com.eshore.ismp.contract.sql; import java.io.FileInputStream; import java.io.FileNot ...

  5. Android NDK开发(五)--C代码回调Java代码【转】

    转载请注明出处:http://blog.csdn.net/allen315410/article/details/41862479 在上篇博客里了解了Java层是怎样传递数据到C层代码,并且熟悉了大部 ...

  6. 我使用过的Linux命令之swig - 把C/C++的代码嵌入Java等语言的开发工具

    用途说明 SWIG是Simplified Wrapper and Interface Generator的缩写,其官方站点是http://www.swig.org/.SWIG是个帮助使用C或者C++编 ...

  7. 自动SPF生成工具

    到openspf网站去自动生成一下,地址是http://old.openspf.org/wizard.html.详细解释见下图关于spf的详细语法请看http://www.openspf.org/SP ...

  8. Rational Rose正逆向工程(类图转Java代码,Java代码转类图)

     一,正向工程     1.设置默认语言为Java,Tools->Options->Notation->default:选择Java.         2.设置环境变量Class ...

  9. jni中c代码调用java代码

    原理是使用反射的机制 java中反射的例子: Class<?> forName = Class.forName("com.example.ndkcallback.DataProv ...

  10. windows 快捷方式(.lnk)代码执行漏洞(CVE-2017-8464 )[附EXP生成工具]

    最近看到网上曝光了一个windows远程代码执行的漏洞,黑客可以通过一个快捷方式在用户电脑上执行任意指令,于是便对该漏洞进行了部分分析. 1. 漏洞描述: MicrosoftWindows .LNK  ...

随机推荐

  1. 【LINT】cpplint 分析笔记

    cpplint 分析笔记 · [前提得看下google规范] @2022-1-13 20:44:48 error message formate: [filename] [linenum] [mess ...

  2. window-子系统-ubuntu

    window-子系统-ubuntu 1. 背景 提供类Linux开发环境(命令行.文件系统.进程管理.网路) 2. 安装 A. wsl 安装 下载链接: https://wslstorestorage ...

  3. [转帖]jcmd命令详解

    1 基本知识 jcmd 是在 JDK1.7 以后,新增了一个命令行工具. jcmd 是一个多功能的工具,相比 jstat 功能更为全面的工具,可用于获取目标 Java 进程的性能统计.JFR.内存使用 ...

  4. [转帖]Linux kernel内存管理之overcommit相关参数

    前言 了解 linux kernel内存管理,首先可以从用户空间的角度来看kernel的内存管理,执行ls /proc/sys/vm的命令,就可以看到vm运行的所有参数,其中就包含了跟overcomm ...

  5. 一次典型的Memroy Leak的跟踪学习过程

    背景 周四时某项目在QQ群里说自己的系统出现了CPU占用较高的情况. TOP 查看发现大部分占用CPU的都是 JAVA核心进城后附近的进程. 所以初步怀疑 是出现了FullGC的问题. 然后群里反馈了 ...

  6. Intel 的家用CPU的后缀

    Intel 也奸商 各种后缀 最开始P 表示无核显版本 现在用 F来表示了.. 略坑. 一下来源百家号: https://baijiahao.baidu.com/s?id=16276964705166 ...

  7. JVM内存初步学习

    JVM内存初步学习   最近在学习容器内的JVM运行, 简单总结了下学习结果, 但是感觉还是分不清楚很多地方: 同事帮忙进行了 native memory的监控, 主要信息简要如下: jvm刚运行起来 ...

  8. js 删除数组中的某一个内容

    <script type="text/javascript"> let list=["为","啊发大水","阿斯蒂芬& ...

  9. vue结合elementUI折叠展开效果动画

    组件 <template> <div class="hide-page-com"> <ul class="tab-tilte"&g ...

  10. 【0基础学爬虫】爬虫基础之自动化工具 Playwright 的使用

    大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶.逆向相关文章,为实现从易到难全方位覆盖,特设[0基础学爬 ...