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. git添加被.gitignore忽略的文件

    技术背景 在git操作中,有时候为了保障线上分支的简洁性,会在.gitignore文件中屏蔽一些关键词,比如可以加一个*.txt来屏蔽掉项目中所有带txt后缀的文件,还可以加上*test*来屏蔽所有的 ...

  2. 【Linux】技术收集

    Linux进程间通信(六)---信号量通信之semget().semctl().semop()及其基础实验 https://blog.csdn.net/mybelief321/article/deta ...

  3. Vue- 绑定的图片不显示

    需要通过 require包裹 <template> <div> {{user.username}}: <img :src="user.avatar" ...

  4. ONVIF网络摄像头(IPC)客户端开发—RTSP RTCP RTP加载H264视频流

    前言: RTSP,RTCP,RTP一般是一起使用,在FFmpeg和live555这些库中,它们为了更好的适用性,所以实现起来非常复杂,直接查看FFmpeg和Live555源代码来熟悉这些协议非常吃力, ...

  5. [转帖]python字符串如何删除后几位

    https://www.python51.com/jc/15070.html 1.首先在jupyter notebook中新建一个空白的python文件: 2.然后定义一个字符串,用字符串截取的方式打 ...

  6. [转帖]linux 调优各项监控指标小记

    https://z.itpub.net/article/detail/8A4E4E96522BD59D45AB5A4CA442EDB3 自开始负责生产环境部署,中间遇到了若干线上环境内存以及CPU的问 ...

  7. 说透IO多路复用模型

    作者:京东零售 石朝阳 在说IO多路复用模型之前,我们先来大致了解下Linux文件系统.在Linux系统中,不论是你的鼠标,键盘,还是打印机,甚至于连接到本机的socket client端,都是以文件 ...

  8. 如何安装typescript-如何运行typescript

    如何安装 typescript npm install typescript -g 安装 ts 之前需要安装 node 哈 查看 ts 的版本 tsc -V 我的是 3.6.3 的版本 typescr ...

  9. go中的类型转换成interface之后如何复原

    go中interface转换成原来的类型 首先了解下interface 什么是interface? 如何判断interface变量存储的是哪种类型 fmt 反射 断言 来看下interface的底层源 ...

  10. 强化学习从基础到进阶-常见问题和面试必知必答[6]:演员-评论员算法(advantage actor-critic,A2C),异步A2C、与生成对抗网络的联系等详解

    强化学习从基础到进阶-常见问题和面试必知必答[6]:演员-评论员算法(advantage actor-critic,A2C),异步A2C.与生成对抗网络的联系等详解 1.核心词汇 优势演员-评论员(a ...