Skip to content

Releases: dibo-software/diboot

diboot v2.0.5

24 Mar 02:45
Compare
Choose a tag to compare

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

21 Jan 10:50
fd065f5
Compare
Choose a tag to compare

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

13 Dec 00:21
d5b33f8
Compare
Choose a tag to compare

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

20 Nov 13:22
bb4762b
Compare
Choose a tag to compare

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

05 Nov 02:09
26de397
Compare
Choose a tag to compare

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

10 Aug 12:02
8e3b691
Compare
Choose a tag to compare
  • 增加了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

20 Jul 08:01
8464639
Compare
Choose a tag to compare

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