diboot/README.md

80 lines
4.7 KiB
Markdown
Raw Normal View History

2020-07-05 13:48:21 +08:00
> v2.1版本发布可以告别常规SQL和CRUD了
2020-02-14 10:53:51 +08:00
2020-07-07 15:48:12 +08:00
# diboot - 化繁为简,以简驭繁
2019-06-04 20:51:41 +08:00
<p align="center">
<a href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">
<img src="https://img.shields.io/hexpm/l/plug.svg">
</a>
2020-01-20 10:25:17 +08:00
<a href="https://mvnrepository.com/artifact/com.diboot" target="_blank">
2020-01-21 08:47:03 +08:00
<img src="https://img.shields.io/maven-central/v/com.diboot/diboot-core-spring-boot-starter">
2020-01-20 10:25:17 +08:00
</a>
2019-06-04 20:51:41 +08:00
</p>
2020-03-16 21:28:38 +08:00
> [设计目标](https://segmentfault.com/a/1190000020906742):面向开发人员的低代码开发平台,将重复性的工作自动化,提高质量、效率、可维护性。
2020-01-11 16:28:25 +08:00
2020-03-17 09:39:25 +08:00
![diboot平台组成结构图](diboot-docs/.vuepress/public/structure.png)
2020-06-03 20:44:34 +08:00
diboot v2版本目前实现: diboot-core高效内核 + diboot-devtools开发助理 + IAM身份认证、file文件处理等基础组件 + diboot-*-admin基础后台。
2019-08-13 11:25:52 +08:00
## 一、 diboot-core: 精简优化内核
2020-06-06 18:24:42 +08:00
高效精简内核,重构查询方式(拆解关联查询,程序中Join),简化开发,主要实现:
2019-11-04 20:29:29 +08:00
#### 1. 单表CRUD无SQL
> 基于Mybatis-Plus实现Mybatis-Plus具备通用Mapper方案和灵活的查询构造器
2020-06-04 20:39:34 +08:00
#### 2. 关联绑定无SQL注解自动绑定
> 扩展实现了多表关联查询的无SQL方案只需要一个简单注解@Bind*,就可以实现关联对象(含字段、字段集合、实体、实体集合等)的数据绑定,且实现方案是将关联查询拆解为单表查询,保障最佳性能。
2019-11-04 20:29:29 +08:00
#### 3. 数据字典无SQL注解自动绑定
> 通过@BindDict注解实现数据字典(枚举)的存储值value与显示值name的转换。
2020-06-04 20:39:34 +08:00
#### 4. 跨表查询无SQL自动构建QueryWrapper与查询
> @BindQuery注解绑定字段查询方式及关联表自动构建QueryWrapper并动态执行单表或Join联表查询。
#### 5. BaseService扩展增强支持常规的单表及关联开发场景接口
> createEntityAndRelatedEntities、getValuesOfField、exists、getKeyValueList、getViewObject*等接口
#### 6. 其他常用工具类、状态码、异常处理的最佳实践封装
> JsonResult、字符串处理、常用校验、BeanUtils、DateUtils等
2019-06-22 16:01:36 +08:00
基于diboot-core 2.x版本的CRUD和简单关联的常规功能实现代码量比传统Mybatis项目减少80%+),且实现更高效更易维护。
2019-11-04 20:29:29 +08:00
更多介绍请查看: [diboot-core README](https://github.com/dibo-software/diboot-v2/tree/master/diboot-core "注解自动绑定多表关联").
2020-01-11 16:28:25 +08:00
## 二、 diboot-devtools 自动化开发助理
2020-07-07 15:48:12 +08:00
* 使用简单UI界面操作引入依赖配置参数后即可随SpringBoot本地项目启动运行
* 功能很强大:
* 数据结构变更与代码联动同步自动记录变更SQL、维护索引
* 直接一键生成&非覆盖式更新本地后端代码
* 单表与关联场景CRUD导入导出的完整功能全自动生成无需手写代码
* 配置很灵活(可按需配置生成代码路径,是否启用`Lombok`、`Swagger`等)
* SQL与代码很标准devtools标准化了数据结构定义与代码实现
2020-03-18 19:52:10 +08:00
* 支持多数据库MySQL、MariaDB、ORACLE、SQLServer、PostgreSQL
2020-01-11 16:28:25 +08:00
> [我要试试](https://www.diboot.com/guide/diboot-devtools/%E4%BB%8B%E7%BB%8D.html)
2020-03-18 10:06:47 +08:00
## 三、iam-base 身份认证基础组件 及 配套VUE前端框架diboot-antd-admin、diboot-element-admin
2019-11-04 20:29:29 +08:00
2020-03-18 19:52:10 +08:00
* RBAC角色权限模型 + JWT的认证授权 实现支持刷新token
* 简化的BindPermission注解支持兼容shiro的简化权限绑定与自动鉴权
* 自动提取需要验证的后端接口, 借助前端功能方便绑定前后端菜单按钮权限
2020-06-04 20:39:34 +08:00
* 支持基于注解的数据权限实现
2020-03-18 19:52:10 +08:00
* 支持灵活的扩展能力(扩展多种登录方式、灵活替换用户实体类、自定义缓存等)
2019-11-04 20:29:29 +08:00
2020-01-11 16:28:25 +08:00
更多介绍请查看: [iam-base-starter README](https://github.com/dibo-software/diboot-v2/tree/master/iam-base-starter "身份认证管理组件").
2020-03-15 12:38:25 +08:00
## 四、diboot-file 文件相关处理组件
2020-07-07 15:48:12 +08:00
* EasyExcel轻量封装支持Java注解校验与@ExcelBind*注解实现字典及关联字段的name-value转换并提供完善的校验错误提示
2020-03-18 19:52:10 +08:00
* 封装常用的文件本地存储、上传下载、图片压缩水印等常用处理
2020-03-15 12:38:25 +08:00
更多介绍请查看: [diboot-file-starter README](https://github.com/dibo-software/diboot-v2/tree/master/diboot-file-starter "文件组件").
2020-01-11 16:28:25 +08:00
> 其他组件逐步开发中 ...
2019-11-04 20:29:29 +08:00
2020-07-07 15:48:12 +08:00
## 五、捐助支持
![捐助二维码](https://www.diboot.com/assets/img/donate.a25badf5.jpg)
2020-01-20 13:16:14 +08:00
2020-07-07 15:48:12 +08:00
感谢JetBrains提供Open Source license[JetBrains IDEA](https://www.jetbrains.com/?from=diboot) 是最好的Java IDE。
## 六、技术交流群
2019-11-04 20:29:29 +08:00
如果您有技术问题,欢迎加群交流:
> QQ群: [731690096]()
2019-12-06 13:38:52 +08:00
> 微信群备注diboot加: [wx20201024]()
2020-07-07 15:48:12 +08:00