diboot-v2

Introduction: diboot 轻代码开发平台 V2 版本:简单易用高质高效的开发助理 ->
More: Author   ReportBugs   OfficialWebsite   
Tags:

v2.1 版本发布,可以告别常规 SQL 和 CRUD 了! B 站上手视频playground 新手体验包

设计目标:面向开发人员的低代码开发平台,将重复性的工作自动化,提高质量、效率、可维护性。

diboot 平台组成结构图

diboot v2 版本,目前实现: diboot-core 高效内核 + diboot-devtools 开发助理 + IAM 身份认证、file 文件处理等基础组件 + diboot-*-admin 基础后台。

一、 diboot-core: 精简优化内核

高效精简内核,重构查询方式(拆解关联查询,程序中 Join),简化开发,主要实现:

1. 单表 CRUD 无 SQL

基于 Mybatis-Plus 实现(Mybatis-Plus 具备通用 Mapper 方案和灵活的查询构造器)

2. 关联绑定无 SQL(注解自动绑定)

扩展实现了多表关联查询的无 SQL 方案,只需要一个简单注解@Bind*,就可以实现关联对象(含字段、字段集合、实体、实体集合等)的数据绑定,且实现方案是将关联查询拆解为单表查询,保障最佳性能。

3. 数据字典无 SQL(注解自动绑定)

通过@BindDict 注解实现数据字典(枚举)的存储值 value 与显示值 name 的转换。

4. 跨表查询无 SQL(自动构建 QueryWrapper 与查询)

@BindQuery 注解绑定字段查询方式及关联表,自动构建 QueryWrapper,并动态执行单表或 Join 联表查询。

5. BaseService 扩展增强,支持常规的单表及关联开发场景接口

createEntityAndRelatedEntities、getValuesOfField、exists、getKeyValueList、getViewObject*等接口

6. 其他常用工具类、状态码、异常处理的最佳实践封装

JsonResult、字符串处理、常用校验、BeanUtils、DateUtils 等

基于 diboot-core 2.x 版本的 CRUD 和简单关联的常规功能实现,代码量比传统 Mybatis 项目减少 80%+),且实现更高效更易维护。
更多介绍请查看: diboot-core README.

二、 diboot-devtools 自动化开发助理

  • 使用简单(UI 界面操作,引入依赖配置参数后,即可随 SpringBoot 本地项目启动运行)
  • 功能很强大:
    • 单表与关联场景 CRUD 导入导出的完整功能全自动生成,无需手写代码
    • 数据结构变更与代码联动同步,自动记录变更 SQL、维护索引
    • 一键生成代码&非覆盖式更新本地后端代码
  • 配置很灵活(可按需配置生成代码路径,是否启用LombokSwagger等)
  • SQL 与代码很标准(devtools 标准化了数据结构定义与代码实现)
  • 支持多数据库(MySQL、MariaDB、ORACLE、SQLServer、PostgreSQL)

    我要试试

三、iam-base 身份认证基础组件 及 配套 VUE 前端框架(diboot-antd-admin、diboot-element-admin)

  • RBAC 角色权限模型 + JWT 的认证授权 实现,支持刷新 token
  • 简化的 BindPermission 注解,支持兼容 shiro 的简化权限绑定与自动鉴权
  • 自动提取需要验证的后端接口, 借助前端功能方便绑定前后端菜单按钮权限
  • 支持基于注解的数据权限实现
  • 支持灵活的扩展能力(扩展多种登录方式、灵活替换用户实体类、自定义缓存等)

更多介绍请查看: iam-base-starter README.

四、diboot-file 文件相关处理组件

  • EasyExcel 轻量封装,支持 Java 注解校验与@ExcelBind*注解实现字典及关联字段的 name-value 转换,并提供完善的校验错误提示
  • 封装常用的文件本地存储、上传下载、图片压缩水印等常用处理

更多介绍请查看: diboot-file-starter README.

其他组件逐步开发中 ...

五、捐助支持

捐助二维码

感谢 JetBrains 提供 Open Source license,JetBrains IDEA 是最好的 Java IDE。

六、技术交流群

如果您有技术问题,欢迎加群交流:

QQ 群: 731690096

微信群(备注 diboot)加: wx20201024

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools