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() 方法,指定生成的表。

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

  1. create table user
  2. (
  3. id int unsigned auto_increment comment '自增主键' primary key,
  4. user_id varchar(32) not null comment '用户标识',
  5. user_name varchar(32) not null comment '用户名称',
  6. remark varchar(64) not null comment '用户描述',
  7. status varchar(1) not null default 'S' comment '用户状态',
  8. app_name varchar(64) not null default 'system' comment '应用名称',
  9. operator_name varchar(64) not null default 'system' comment '操作员名称',
  10. create_time timestamp default CURRENT_TIMESTAMP not null comment '创建时间戳',
  11. update_time timestamp default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新时间戳'
  12. ) 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. SV 接口中的clocking

    接口 module可以例化模块,可以例化接口 接口不能例化模块 采样和数据驱动 时钟驱动数据,数据会有延迟,RTL仿真的时候,不会仿真出这个延时;RTL仿真的时候,不会仿真出寄存器的延时;只有在门级仿 ...

  2. 使用阿里canal实现mysql与Elasticsearch增量同步

    一.背景介绍 最近在做一个地理信息相关的项目,需要维护大量的地址描述数据,同时需要提供对数据检索的功能,准备采用Elasticsearch(6.7)实现.那么问题就来了,地址数据需要同时在MySQL和 ...

  3. [转帖]事务上的等待事件 —— enq: TM - contention

    执行DML期间,为防止对与DML相关的对象进行修改,执行DML的进程必须对该表获得TM锁.若在获得TM锁的过程中发生争用,则等待enq: HW - contention 事件. SQL> sel ...

  4. [转帖]iptables规则链执行顺序

    https://www.cnblogs.com/yum777/articles/8514636.html iptables 是采用规则堆栈的方式来进行过滤,当一个封包进入网卡,会先检查 Prerout ...

  5. [转帖]nginx 反向代理中proxy_set_header的含义

    https://www.jianshu.com/p/cd813d68ed25 0.1212020.10.23 09:29:53字数 284阅读 9,939 1.proxy_set_header设置的请 ...

  6. [转帖]docker使用buildx构建多平台(x86,arm64)构架镜像

    https://blog.csdn.net/atzqtzq/article/details/128583331 配置文件激活buildx docker目前使用版本为Server Version: 20 ...

  7. [转帖]ipset命令介绍与基本使用

    一. 介绍 ipset命令是用于管理内核中IP sets模块的,如iptables之于netfilter.ipset字面意思是一些IP地址组成一个集合(set).但是ipset用于用于存储IP地址,整 ...

  8. [转帖]linux下 进程io队列,IO队列和IO调度

    IO体系概览 先看看本文主题IO调度和IO队列处于整个IO体系的哪个位置,这个IO体系是非常重要的,了解IO体系我们可以对整个IO过程有个全面的认识.虽然一下两下并不清楚IO体系各个部分的细节,但是我 ...

  9. firewall-cmd 命令简单总结

    最近进行相关网络设置, 发现需要总结一下不然总是会忘记. # 1. 开放IP地址访问 firewall-cmd --zone=trusted --add-source=yourip --permane ...

  10. 开发QQ官方机器人

    QQ 频道机器人开发简明教程 1. 简介 QQ 频道机器人是一种可以在 QQ 频道中与用户进行互动的服务.这个教程旨在帮助新手学习如何使用 Python 的官方SDK,快速实现一些基本的机器人功能. ...