Skip to content

Commit

Permalink
CHANGELOG.md
Browse files Browse the repository at this point in the history
  • Loading branch information
troyzhxu committed Nov 4, 2021
1 parent d18183d commit c07407a
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@

# Bean Searcher v3.0.0 已发布

#### 新特性概览

* 支持 热加载
* 支持 无注解
* 支持 Select 指定字段
* 支持 条件与运算符的约束
* 支持 参数过滤器
* 支持 字段转换器
* 支持 Sql 拦截器
* 支持 多数据源
* 支持 JDK 9+

#### Bean Searcher

* 精简 Searcher 接口,移除一些无用的方法(最后一个形参为 `prefix` 的检索方法被移除)
* 架构优化:SearchBean 支持热加载,在配置了热加载的应用开发中,SearchBean 修改后,无需重启即可生效
* 移除 `SearchPlugin``SpringSearcher` 辅助类,因为 v3.0 的 Bean Searcher 的使用比借助辅助类更加容易
* 精简 `SearchResult` 类,移除没有必要的字段,只保留 `totalCount``dataList``summaries` 字段
* 新增 `Searcher` 的子接口:`MapSearcher``BeanSearcher` 与其相关实现,`MapSearcher` 中的检索方法返回的数据类型为 `Map`, `BeanSearcher` 中的检索方法返回的数据类型为泛型的 Search Bean
* 重构 `SearcherBuilder` 构建器, 使其更容易构建出一个 `MapSearcher``BeanSearcher` 实例
* 注解 `@SearchBean``groupBy` 属性,支持嵌入参数,嵌入参数未传入时,使用空字符串(以前使用 `"null"` 字符串)
* 抽象 `BeanReflector``FieldConvertor` 接口,使得 SearchBean 对象的反射机制更加解耦,更容易扩展与自定义
* 新增 `NumberFieldConvertor``StrNumFieldConvertor``BoolFieldConvertor``DateFormatFieldConvertor` 四个字段转换器实现,用户可以选择使用
* 新增 `DbMapping` 数据库映射接口,并提供基于下划线风格的映射实现,使得简单应用场景下,用户可以省略 `@SearchBean``@DbField` 注解
* 注解 `@SearchBean` 新增 `dataSource` 属性,用于指定该 SearchBean 从哪个数据源检索
* 注解 `@SearchBean` 新增 `autoMapTo` 属性,用于指定缺省 `@DbField` 注解的字段自动映射到那张表
* 新增 `@DbIgnore` 注解,用于指定 忽略某些字段,即添加该注解的字段不会被映射到数据库
* 注解 `@DbField` 新增 `conditional``onlyOn` 属性,使得用户可以控制该字段是否可以用作检索条件,以及当可作检索条件时支持哪些字段运算
* 新增 `ParamAware` 接口,SearchBean 实现该接口时,可在 `afterAssembly(Map<String, Object> paraMap)` 方法里拿到原始检索参数
* 新增 onlySelect 与 selectExclude 参数(参数名可自定义),可用于指定只 Select 哪些字段,或者排除哪些字段
* 新增 `SqlInterceptor` 接口,实现 SQL 拦截器功能

#### Bean Searcher Boot Starter

* 简化使用,不再不要启动操作,不再需要配置 SearchBean 包名路径(移除了 `SearcherStarter` 类)
* Spring Boot 自动配置功能 独立到 Bean Searcher Boot Starter` 项目中,Bean Searcher 项目不再依赖 Spring

#### JDK

* 支持 JDK8+
* 兼容 JDK9+ 的模块引入机制

0 comments on commit c07407a

Please sign in to comment.