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. JMS微服务开发示例(五)生成短token,实现用户无状态登录

    用户token,也可以利用第三方框架生成,JMS也包含了自己的token服务器. 部署TokenServer 到这里下载 tokenserver.zip,然后部署运行TokenServer. 微服务中 ...

  2. [转帖]实战瓶颈定位-我的MySQL为什么压不上去–写场景

    https://plantegg.github.io/2023/06/30/%E5%AE%9E%E6%88%98%E7%93%B6%E9%A2%88%E5%AE%9A%E4%BD%8D-%E6%88% ...

  3. reposync与createrepo创建离线yum源的方法

    背景 昨天晚上进行了在线升级银河麒麟V10SP2的audit和mate-indicator的rpm包 今天想了下,如果机器无法上网. 必须得在公司内部搭建一套离线的rpm源进行处理 想了下还是使用re ...

  4. CentOS确认网口是否插入网线的办法

    最近公司的机器存在网络问题, 部分网络总是不通, 比较奇怪. 最近一直想处理好. 第一步: 先查看网口的设备信息 可以使用 ip link show 可以讲网口信息都展示出来. 一般情况下  NO-C ...

  5. vue过滤器(filter)的使用

    过滤器分全局过滤器和局部过滤器 <div id="app"> <p>电脑价格:{{price | addPriceIcon}}</p> < ...

  6. 源码阅读:VictoriaMetrics中的golang代码优化方法

    全文请移步:https://zhuanlan.zhihu.com/p/469239020 或关注我的公众号: 公众号:一本正经的瞎扯

  7. Abp 模板更换数据库 版本为V5.x,遇到的问题

    数据库的选择: Mysql使用5.0.0的版本,根据在下面的依赖项 大于等于5.0.5 && 小于6.0.0 Microsoft.EntityFrameworkCore.Tools和M ...

  8. 从零开始配置 vim(4)——键盘映射的一些技巧

    通过前面的学习,我们已经知道了如何进行键盘映射,并且也知道了在任何场合应该使用非递归版本的映射.这篇再介绍一些使用关于快捷键映射的内容作为收尾 快速编辑 vimrc 文件 通过前面掌握的知识,相信各位 ...

  9. TienChin 渠道管理-更新渠道接口开发

    ChannelController /** * 修改渠道 */ @PreAuthorize("hasPermission('tienchin:channel:edit')") @L ...

  10. 使用protobuf生成代码import包找不到

    protobuf使用import导入包找不到 前言 解决方案 protobuf使用import导入包找不到 前言 使用protobuf生成go代码,发现protobuf中一个import引用找不到 p ...