Skip to content

Releases: troyzhxu/bean-searcher

v3.0.2

10 Nov 12:05
Compare
Choose a tag to compare

Bug Fix

  • 修复:在 v3.0.0 中,单独使用 searchCountsearchSum 方法时,获取 SQL 结果会出错的问题

v3.0.1

05 Nov 09:01
Compare
Choose a tag to compare

Fetures

  • DateFormatFieldConvertor 新增 setFormat 方法

Bug Fix

  • 修复:v3.0.0 中,再没有指定 @SearchBean 注解的 joinCond 属性时,带条件的 SQL 生成中 where 后少一个 左括号的问题

v3.0.0 - 重大更新

04 Nov 07:59
Compare
Choose a tag to compare

新特性概览

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

Bean Searcher

  • 精简 Searcher 接口,移除一些无用的方法(最后一个形参为 prefix 的检索方法被移除)
  • 架构优化:SearchBean 支持热加载,在配置了热加载的应用开发中,SearchBean 修改后,无需重启即可生效
  • 移除 SearchPluginSpringSearcher 辅助类,因为 v3.0 的 Bean Searcher 的使用比借助辅助类更加容易
  • 精简 SearchResult 类,移除没有必要的字段,只保留 totalCountdataListsummaries 字段
  • 新增 Searcher 的子接口:MapSearcherBeanSearcher 与其相关实现,MapSearcher 中的检索方法返回的数据类型为 Map, BeanSearcher 中的检索方法返回的数据类型为泛型的 Search Bean
  • 重构 SearcherBuilder 构建器, 使其更容易构建出一个 MapSearcherBeanSearcher 实例
  • 注解 @SearchBeangroupBy 属性,支持嵌入参数,嵌入参数未传入时,使用空字符串(以前使用 "null" 字符串)
  • 抽象 BeanReflectorFieldConvertor 接口,使得 SearchBean 对象的反射机制更加解耦,更容易扩展与自定义
  • 新增 NumberFieldConvertorStrNumFieldConvertorBoolFieldConvertorDateFormatFieldConvertor 四个字段转换器实现,用户可以选择使用
  • 新增 DbMapping 数据库映射接口,并提供基于下划线风格的映射实现,使得简单应用场景下,用户可以省略 @SearchBean@DbField 注解
  • 注解 @SearchBean 新增 dataSource 属性,用于指定该 SearchBean 从哪个数据源检索
  • 注解 @SearchBean 新增 autoMapTo 属性,用于指定缺省 @DbField 注解的字段自动映射到那张表
  • 新增 @DbIgnore 注解,用于指定 忽略某些字段,即添加该注解的字段不会被映射到数据库
  • 注解 @DbField 新增 conditionalonlyOn 属性,使得用户可以控制该字段是否可以用作检索条件,以及当可作检索条件时支持哪些字段运算符
  • 新增 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+ 的模块引入机制

v2.2.0

24 Oct 10:15
Compare
Choose a tag to compare

1、支持以 lambda 的方式构建检索参数
2、SQL 日志的输出级别调为 DEBUG

v2.1.2

23 Oct 06:47
Compare
Choose a tag to compare

fix: 拼接虚拟参数在 SQL片段最后时,会造成程序死循环的问题

v2.1.1

23 Oct 06:44
Compare
Choose a tag to compare

修复当两个虚拟参数相距很近时,后一个参数可能无法正常解析的问题

v2.1.0

23 Oct 06:43
Compare
Choose a tag to compare

新增支持形如 :name: 的拼接参数,该参数的值将直接拼接在 SQL 中,不作为 JDBC 的参数
使用该参数时应严格检查参数值的来源,不可由前端直接传过来,否则会有 SQL 注入的风险

v2.0.1

23 Oct 06:43
Compare
Choose a tag to compare

1、优化项目依赖
2、启动时不再缓存 Class 对象,兼容某些热加载应用