Releases: sagframe/sagacity-sqltoy
4.11.5 GA 剔除对BeanUtils的依赖,修复BeanUtils.setProperty导致的bug
此版本为正式GA版本,修复了支持新特性导致的bug,已经投入生产环境
1、修复因支持VO 中set方法支持VO setXXX(String xxxx){this.xxx=xxx;return this;} 导致BeanUtils.setProperty错误。
2、剔除了BeanUtils的依赖,在sqltoy自身的BeanUtil类中实现对应的setProperty和getProperty方法
4.11.2 修复3个以上in 条件查询,中间的条件为null处理缺陷
1、修复查询条件包含3个或以上in (:params) ,且中间条件参数值为null 处理异常。
此问题只有在极端复杂情况下出现,4月13晚上同事发现此问题并修复,14~15日完成uat环境验证
4.11.1 支持Byte类型、修复CTE有时分秒格式化分页bug
1、sqltoy支持java.lang.Byte类型
2、修复with as t1 (select date-format(field,'%Y-%m-%d %H:%i:%s') dateStr from table ) select * from t1场景下的缺陷
感谢:
1、感谢codefalse 在从mybatis转sqltoy过程中给出的反馈
2、感谢兵兵 测试出cte 场景下带时间格式时分页时,分析条件参数个数时报错。
4.10.9 支持不取count记录的分页、vo的set方法支持链式赋值
1、分页查询通过PaginationModel中增加了skipTotalCount参数为true时只做分页查询不执行count查询,默认值为false。
2、完善quickvo数据类型匹配,如:Integer unsigned等,bigint默认匹配BigInteger类型,相应的sqltoy-orm框架中对BigInteger类型进行了适配。
3、quickvo增加了是否设置set方法返回对象本身的开关,便于对象赋值可以采用链式操作,如:vo.setName(xxx).setType(xx) 模式
<!-- quickvo.xml -->
<!-- set method 是否支持返回对象自身(默认是true),即:
public VO setName(String name) {this.name=name;return this;} -->
<property name="field.support.linked.set" value="true" />
4、放开sqltoy中vo对象set方法必须是void类型的控制,导致使用lombok无法赋值的bug
致谢:
- codefalse
- sglmsn
感谢二位使用过程中提出相关问题,使得sqltoy-orm更趋完善!
4.10.5 缓存实现增量检测更新,增加环比计算
1、缓存翻译对应的缓存更新机制增加增量更新
2、查询结果计算增加环比计算,请参见sqltoy-showcase下的QueryCaseTest类
至此sqltoy规划的功能已经完整完善,下一步会逐步完善文档
- 缓存增量更新检测
<!-- 员工缓存增量更新检测 -->
<sql-increment-checker cache="staffIdName" check-frequency="30" datasource="dataSource">
<sql><![CDATA[
--#not_debug#--
select STAFF_ID,STAFF_NAME,STATUS
from SQLTOY_STAFF_INFO
where UPDATE_TIME >=:lastUpdateTime
]]>
</sql>
</sql-increment-checker>
<!--数据字典(分组型) , 要设置has-inside-group="true" 查询结果第一列也必须是缓存分类 -->
<sql-increment-checker cache="dictKeyName" check-frequency="15" has-inside-group="true" datasource="dataSource">
<sql><![CDATA[
--#not_debug#--
select t.DICT_TYPE,t.DICT_KEY,t.DICT_NAME,t.STATUS
from SQLTOY_DICT_DETAIL t
where t.UPDATE_TIME>=:lastUpdateTime
]]>
</sql>
</sql-increment-checker>
4.10.3 GA 修复POJO上的注解模式sql定义引用校验错误
1、修复SqltoyCRUDService 上的findFrom/pageFrom 用法合法性校验错误。
2、优化BeanUtils 工具类数据合法性校验和提醒。
3、修复替换dom4j 后产生的几个缺陷
- 独立使用sqltoy
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy</artifactId>
<version>4.10.3</version>
</dependency>
- 基于springboot starter模式集成
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-starter</artifactId>
<version>4.10.3</version>
</dependency>
4.10.1 优化缓存翻译ehcache默认参数设置
1、针对ehcache参数提供全局默认值设置,调整off-heap默认为0MB(否则会事先分配内存导致内存占用),由开发者根据项目情况开启.。
2、针对sql文件加载规则做了微小优化,classes 目录下面相同sql文件优先于jar包下面的,从而便于一些项目增量发版。
4.10.0 调整缓存翻译ehcache配置策略,默认不生成disk文件
1、调整ehcache缓存策略,改变默认heap、off-heap、disk三层模式为默认不打开disk模式,由用户自行配置打开。
2、完善sql跨数据库函数替换Instr实现类对postgresql的支持,实现instr、position、charindex函数的互转
3、对pom依赖做了清理,调整showcase的单元测试模式,采用junit5
4、quickvo剔除了对beanutils.jar 的依赖,更加精简
普通spring项目集成
<!-- sqltoy -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy</artifactId>
<version>4.10.0</version>
</dependency>
基于spring boot starter模式的集成
<!-- sqltoy spring boot starter -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-starter</artifactId>
<version>4.10.0</version>
</dependency>
POJO生成工具类(不要作为项目依赖引入,是工具)
<!-- quickvo 请先下载,然后参照sqltoy-showcase/tools/quickvo 下面的配置使用 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sqltoy-quickvo</artifactId>
<version>4.10.0</version>
</dependency>
4.9.10 缺陷修复版本
1、修复替换dom4j 解析xml导致的sql查询条件过滤器解析逻辑判断bug
2、增加了SqlToyCRUDService参数合法性验证和提示
4.9.9 实现maven中央仓库集成,jdk xml api 替代dom4j
1、quickvo 和 sqltoy项目原来的dom4j 依赖去除,采用jdk自带的xml函数
2、将jar发版到https://oss.sonatype.org 中央仓库,便于项目集成
- 普通spring项目集成
<!-- sqltoy -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy</artifactId>
<version>4.9.9</version>
</dependency>
- 基于spring boot starter模式的集成
<!-- sqltoy spring boot starter -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-starter</artifactId>
<version>4.9.9</version>
</dependency>
- POJO生成工具类
<!-- quickvo 请先下载,然后参照sqltoy-showcase/tools/quickvo 下面的配置使用 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sqltoy-quickvo</artifactId>
<version>4.9.9</version>
</dependency>