low-code 低代碼平臺(tái) java 代碼自動(dòng)一鍵生成工具(低代碼開(kāi)發(fā)平臺(tái) java)
low-code
low-code 是一款為 java 打造的低代碼平臺(tái)。
開(kāi)源地址:https://github.com/houbb/low-code
特性
- 支持基本的增刪改查
- 支持枚舉值處理
- 支持 EXCEL 導(dǎo)出
- 代碼一鍵生成
- 生產(chǎn)代碼一鍵清理
技術(shù)選型
springboot 容器
mybatis-plus druid mysql 數(shù)據(jù)庫(kù)
vue element-ui 頁(yè)面
變更日志
變更日志
快速開(kāi)始
需要
jdk 1.7
maven 3.x
mysql 5.7
配置調(diào)整
此處使用的是 mysql-5.7,數(shù)據(jù)庫(kù)腳本見(jiàn) mysql-5.7.sql
在 mysql 中執(zhí)行上述腳本,默認(rèn)的 mysql 登錄信息為 root/123456。
如果需要調(diào)整,修改 application.yml 文件。
代碼生成
執(zhí)行 low-code-gen 模塊中的 LowCodeGenerator#main() 方法,指定生成的表。
我們以用戶(hù)表作為入門(mén)的例子:
create table user( id int unsigned auto_increment comment '自增主鍵' primary key, user_id varchar(32) not null comment '用戶(hù)標(biāo)識(shí)', user_name varchar(32) not null comment '用戶(hù)名稱(chēng)', remark varchar(64) not null comment '用戶(hù)描述', status varchar(1) not null default 'S' comment '用戶(hù)狀態(tài)', app_name varchar(64) not null default 'system' comment '應(yīng)用名稱(chēng)', operator_name varchar(64) not null default 'system' comment '操作員名稱(chēng)', create_time timestamp default CURRENT_TIMESTAMP not null comment '創(chuàng)建時(shí)間戳', update_time timestamp default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '更新時(shí)間戳') comment '用戶(hù)表' ENGINE=Innodb default charset=UTF8 auto_increment=1;
針對(duì)枚舉值我們可以指定配置到 lc_enum_mapping 表中。
啟動(dòng)
直接運(yùn)行 Application#main() 方法,即可啟動(dòng)應(yīng)用。
生成示例
用戶(hù)界面
分支特性
v0.0.1-基本 dal 等實(shí)現(xiàn)
v0.0.2-實(shí)現(xiàn)增刪改等功能
v0.0.3-實(shí)現(xiàn)分頁(yè)查詢(xún)
v0.0.4-實(shí)現(xiàn) EXCEL 導(dǎo)出
v0.0.5-實(shí)現(xiàn)枚舉值映射
拓展閱讀
后期 Road-MAP
- [ ] 根據(jù) @TableId 獲取對(duì)應(yīng)的 id 字段
- [ ] 批量刪除
- [ ] 新增/更新時(shí)過(guò)濾 id 和時(shí)間
- [ ] 時(shí)間類(lèi)型查詢(xún)優(yōu)化(date 控件)
- [ ] 導(dǎo)入功能
- [ ] 動(dòng)態(tài)菜單 下載中心
- [ ] EXCEL 導(dǎo)出枚舉值處理
- [x] 枚舉值的統(tǒng)一處理
- [x] 依賴(lài)名稱(chēng)生成更加優(yōu)雅,變?yōu)槭鬃帜感?xiě)
- [x] 導(dǎo)出功能
- [x] 查詢(xún)功能
數(shù)據(jù)源
- [ ] 其他數(shù)據(jù)庫(kù)支持
- [ ] 其他前端語(yǔ)言支持
- [ ] 其他后端語(yǔ)言支持
自動(dòng)生成
- gen-test-plugin 接入
- swagger 接入
- JAPIDocs 接入
可視化
- 頁(yè)面化
- 高度定制化