Releases: dibo-software/diboot
diboot v2.0.5
diboot-core 基础内核 v2.0.5:
-
🐛修复: 中间表关联时,如果附加目标表字段的扩展条件,条件未生效的bug,如: this.id=user_role.user_id AND user_role.role_id=id AND code='ADMIN'
-
🐛修复: PostgreSQL数据库下,对于注解绑定关联的扩展条件,可能存在的数据类型不匹配的问题
-
🐛修复: SQLServer批量插入未返回entity ID且报错的问题
-
🐛修复: Oracle大写问题导致某些情况下无法绑定有附加条件的注解
-
✨n-n关联的中间表查询中支持动态按需添加中间表的
is_deleted=0
逻辑删除条件 -
✨jdbc url参数支持从多数据源配置中的主数据源参数中读取
-
✨
BindAnnotationGroupCache
更名为ParserCache
,并增加其他解析过程中的缓存 -
✨
BusinessException
增加单String参数,指定错误信息 -
🎉
JsonResult
增加Status
状态码对应的静态初始化方法,更便于书写,如:JsonResult.OK(data)
-
🎉
BaseService
增加用于批量增删改1对多关联数据的系列接口:
create/update/deleteEntityAndRelatedEntities
-
🎉
BaseService
增加检测唯一性的接口exists(IGetter<T> getterFn, Object value)
-
🎉
V
增加validateBean
方法,用于手动校验基于validator注解的bean校验 -
🎉
RelationsBinder
增加单个entity/vo参数的绑定接口 -
🎉
SqlExecutor
中增加validateQuery
方法,用于starter执行验证性SQL -
🎉
BaseCrudController
中增加afterDeleted()
方法,用于删除后的扩展处理
diboot-devtools 开发助理 v2.0.5:
-
🔨生成本地Controller的Base类改为默认BaseCustomCrudController,不再继承父类url mapping,支持通过配置启用父类url继承
-
🔨生成entity的字段时自动检测父类BaseCustomEntity的属性,父类中存在的,不再重复生成定义
-
🔨非空字段的样例数据不再强制填写,未填写时可直接提交,由devtools自动生成
-
🔨关联字段的可选字段限定与当前column同类型字段(默认选中id/uuid),as字段显示String类型字段,使选择更方便
-
🎨
BaseExtCustomEntity
被删除后不再重新生成,以支持不需要extdata
的场景 -
🎨
Date
日期类型,字段加上注解@JSONField(format = "")
,以兼容fastjson全局配置覆盖format的问题) -
🎉字段定义数据类型增加
BigDecimal
类型 -
🎉基于diboot-iam组件,初始生成iam相关的controller至本地
-
🎉基于diboot-file组件,初始生成UploadFileController至本地
-
💄配置页面UI样式优化
diboot-iam-base 身份认证基础组件 v2.0.5:
-
🎉RBAC角色权限模型 + JWT的认证授权 实现,支持刷新token
-
🎉简化的BindPermission注解,支持兼容shiro的简化权限绑定与自动鉴权
-
🎉自动提取需要鉴权的后端接口, 借助前端系统权限设置页面,智能、快速地配置前后端菜单、按钮与权限关联
-
🎉支持灵活的扩展能力(扩展多种登录方式、灵活替换用户实体类、自定义缓存等)
-
🎉Starter启动自动安装依赖的数据表
-
🎉加密方式更改为MD5+盐
-
🎉登录页增加验证码支持
-
🎉权限支持修改后立即生效
-
🎉启用devtools,自动生成IAM相关基础代码到本地
diboot-file 文件处理组件 v2.0.5:
-
✨基于EasyExcel轻量封装
-
🎉封装常用的文件本地存储、上传下载、图片压缩水印等常用处理
-
🎉Starter启动自动安装依赖的数据表
-
🎉支持Java标准注解的校验
-
🎉支持@BindDict注解实现字典name-value转换
-
🎉提供完善的校验错误提示
-
🎉启用devtools,自动生成初始样例controller代码到本地
两套前端项目
diboot v2.0.4
diboot-core 基础内核 v2.0.4:
- PagingJsonResult增加IPage参数构造方法,支持Ipage转换为PagingJsonResult();
- BaseCrudRestController增加afterDeleted(),用于删除后的处理
- BaseService,BaseCrudRestController增加批量删除多个id的接口
- BaseService增加判断是否存在的exists接口
- DictionaryService.getKeyValueList()查询结果按sort_id排序
- DictionaryService增加接口,支持同时添加/删除父子节点
- 默认加入lombok注解支持常用bean的链式调用
- BeanUtils增加distinctByKey(list, key)方法,支持对List按指定字段去重
- /list查询,url中的空字符串参数不再参与构建QueryWrapper
- BaseConfig增加取不到返回指定默认值的方法
- EntityList更名为ValidList并简化使用调用,用于校验List
- 构建工具由gradle切换到maven
- 优化完善example示例代码
- Fix bug: 通过Spring获取service实例如果是代理的情况下,解析不到泛型Entity的问题
- Fix bug: 修复关联数据被物理删除后,关联绑定报错的问题
diboot-devtools 开发助理 v2.0.4:
- 生成的Entity、VO中增加 @accessors(chain = true) Lombok注解,默认支持链式调用
- Swagger @API注解优化:value改为tags: @API(tags="") ?
- 优化devtools启动成功的打印信息便于找到
- 初始化自动生成身份认证组件IAM-base所需的controller代码
- 依赖了diboot-iam-base组件,则生成Controller中添加BindPermission注解
- Fix bug: PostgreSQL配置未指定schema时,提取schema错误的问题
- Fix bug: deleted, createTime字段不存在时生成的带注解属性的类型错误的问题
diboot-iam-base v2.0.4-RC2:
- 开箱即用的RBAC角色权限模型
- 基于JWT的认证授权,支持申请token、刷新token
- 简化的BindPermission注解,支持菜单+操作两级权限控制
- 支持BindPermission注解自动收集并更新至数据表
- 预置用户名密码登录(密码带盐加密), 并支持多种登录方式扩展
- 预置默认用户实体,并支持灵活替换用户类型
- 默认启用内存缓存,并支持自定义缓存实现类
diboot v2.0.3
Diboot-core 基础内核:
- BindEntity、BindEntityList注解支持非Entity类型的对象属性绑定。示例:
@bindentity(…) XxVo xxVo;
@BindEntityList(…) List xxVoList; - BindQuery基于request参数去绑定请求属性,Entity中含默认值的自带属性(除is_deleted外)不再参与转换QueryWrapper。
- PropertiesUtils改为使用environment获取配置参数,以兼容yml配置。
- 数据校验BindingResult转由DefaultExceptionHandler中统一处理,移除Controller中的BindingResult参数
- 优化pagination分页默认的排序字段为id(与create_time等效,查询效率更高),不存在id字段的查询清除默认排序
- JsonResult参数优化,去掉变参参数
- diboot-component-*组件包装成starter并移至diboot-v2-starter项目下
- 默认依赖SpringBoot版本升级为2.2.1.RELEASE
- Fix bug: 修复pagination分页有升降序混合时的排序字段顺序错误的问题
Diboot-devtools 开发助理:
- devtools初始化时自动生成各层Base父类、DictionaryController类、ExceptionHandler类等便于扩展的初始代码。
- 表关联设置新增/更新时,devtools自动创建/更新索引,并记录索引SQL
- 表关联配置与代码生成的操作逻辑优化,支持配置生成绑定全类型注解(@BindField @bindentity @BindEntityList)
- 关联字段改名时,自动同步修改生成的VO中的注解绑定的属性名&字段名
- 字段名填写完后自动检查是否为数据库关键字&保留字,如是则提示
- 支持配置是否生成Mapper XML文件,默认true生成
- 增加新建表数据库表表名大小写混用的情况的校验提示
- parent_id的表自身关联生成的显示名属性命名优化为 parent前缀,如parentName,便于理解
- Fix bug: 用yml配置文件生成表关联时出现读不到application.properties文件异常
- Fix bug: jdbc url中参数值出现/时提取数据库名错误的问题
diboot v2.0.3-RC2
diboot-core 内核:
- 优化BaseCrudRestController,引入Entity,VO泛型,用于简化子类代码。
- 优化帮助文档(增加介绍视频等)
- 优化starter中的初始化SQL相关实现代码
diboot-devtools开发助理:
- 默认生成BaseCrudMappingRestController,绑定RequestMapping及Swagger,简化子类代码。
- 增加diboot.devtools.base-controller-class-name配置项,以支持自定义BaseController类,生成的Controller代码将继承自该类
- 增加对无is_deleted、create_time字段的数据表的生成注解支持
- 在新增中间表关联后,devtools生成的中间表可以马上显示在列表中
- 优化完善生成的Swagger注解
- devtools接口url增加版本号,用于支持多版本
- Fix bug:
- contextPath为/的情况下devtools报错
- 解决新增和更新数据字典子项存在的bug问题
- 解决多个字段选择相同的数据字典,生成或更新代码后,vo代码中存在重复属性的问题
*diboot-component- **:
- 将diboot-component-* 组件包装为对应的starter
diboot v2.0.3-RC1
diboot-core:
- 数据字典初始化SQL脚本转移至core-starter,由core-starter自动安装
- 依赖组件版本升级(Spring boot 2.1.8,Mybatis-plus 3.2.0,Fastjson 1.2.60)
- 关联绑定支持ORACLE大写字段名
- S.toLowerCaseCamel(),S.toSnakeCase()优化,兼容Oracle列名与字段名转换
- 数据字典字典重命名为: description,is_deletable,is_editable 以避免Oracle关键字冲突
- 增加添加层级数据字典的接口
- 绑定时的cloneEntity方法移至BeanUtils,便于他处调用
- V.isNumber更改为判断所有数字类型(含整数,浮点数,负数)
- 移除BeanUtils中不生效的Lambda缓存
- Fix bug: 绑定注解的condition中有等于字符串附加条件时执行异常的问题
diboot-devtools开发助理:
- starter自动安装初始化
- 支持MySQL,MariaDB,ORACLE,SQLServer, PostgreSQL数据库
- UI操作数据结构与关联关系维护
- 数据结构联动代码,支持代码生成与同步更新本地代码
- 支持关联关系图
- 支持添加数据字典
- 支持Lombok等参数配置开关
diboot-shiro, diboot-component-*
- shiro权限基础组件优化
- 增加文件组件,消息组件
diboot-core v2.0.2
- 增加了BindEntity注解,用于支持Entity/DTO 自动转换为QueryWrapper对象:
- Entity或者DTO中非等于的比较,添加注解如@BindQuery(comparison = Comparison.LIKE) 进行声明;
- Controller里调用super.buildQueryWrapper(entityOrDto) 或者直接调用 QueryBuilder.toQueryWrapper(entityOrDto) 即可进行转换。
- 优化Pagination对象属性定义,支持在Controller中自动绑定参数值
- 移除了diboot-core中非必须的依赖
- 修复BeanUtils.buildTree()中抓取属性值id的问题
diboot-core v2.0.1
New features:
- @BindDict注解 自动绑定数据字典(枚举值)的显示值Label
- @BindField注解 自动绑定其他表的字段
- @bindentity注解 自动绑定关联表Entity
- @BindEntityList注解 自动绑定关联表Entity集合
- 通用Controller简单包装(BaseController, BaseCrudRestController)
- 通用Service简单包装 (BaseService)
- 提供分页的简单包装 Pagination
- 关联绑定支持MybatisPlus的IService的所有实现类相关Entity的绑定,不再强制要求继承diboot的BaseService
- 绑定调用类优化并更名为RelationsBinder
- Entity/EntityList对象绑定时使用克隆,避免Entity对象引用导致非预期的修改结果
- RequestTimeFilter请求响应时间过滤器,记录耗时操作
- BeanUtils、S、D、V、Encryptor等常用的工具类
- 增加默认的异常处理类DefaultExceptionHandler
- 升级依赖SpringBoot至2.1.6,Mybatis-plus至3.1.2