Releases: sagframe/sagacity-sqltoy
5.6.37 提供针对同一个字段进行多次翻译或根据具体逻辑条件进行翻译的功能
1、提供针对同一个字段进行多次翻译或根据具体逻辑条件进行翻译的功能
<sql id="sqltoy_complax_trans">
<!-- where like colName==xxx | colName!=xxx | colName in (a,b) |colName out (a,b) -->
<translate cache="dictCache" cache-type="purchase_deliver_type" columns="deliver_type" where="order_type==purchase"/>
<translate cache="dictCache" cache-type="sales_deliver_type" columns="deliver_type" where="order_type==sales"/>
<value><!CDATA[[
select order_id,order_type,deliver_type
from order_info
]]>
</value>
</sql>
// 演示基于代码模式的缓存翻译、电话号码脱敏、自定义filter等
Page<StaffInfoVO> result = lightDao.findPageEntity(new Page(), StaffInfoVO.class,
EntityQuery.create().where("STATUS=1 #[and STAFF_NAME like :staffName]").orderByDesc("ENTRY_DATE")
.values(new StaffInfoVO().setStaffName("张")).filters(new ParamsFilter("staffName").rlike())
.translates(new Translate("organIdName").setKeyColumn("organId").setColumn("organName")
.setCompareColumn("orderType").setCompareType("eq").setCompareValues("PO"))
.secureMask(MaskType.TEL, "telNo"));
<!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy</artifactId>
<!-- jdk8 对应的版本号为:5.6.37.jre8 -->
<version>5.6.37</version>
</dependency>
<!-- springboot -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-spring-starter</artifactId>
<!-- jdk8 对应的版本号为:5.6.37.jre8 -->
<version>5.6.37</version>
</dependency>
<!-- solon 插件 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-solon-plugin</artifactId>
<!-- jdk8 对应的版本号为:5.6.37.jre8 -->
<version>5.6.37</version>
</dependency>
5.6.34 修复@value(:inField) in (:ids) ids超过1000场景下的缺陷
1、修复@value(:inField) in (:ids) ids超过1000场景下的缺陷
2、升级solon依赖为3.0.4版本、springboot3.4
<!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy</artifactId>
<!-- jdk8 对应的版本号为:5.6.34.jre8 -->
<version>5.6.34</version>
</dependency>
<!-- springboot -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-spring-starter</artifactId>
<!-- jdk8 对应的版本号为:5.6.34.jre8 -->
<version>5.6.34</version>
</dependency>
<!-- solon 插件 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-solon-plugin</artifactId>
<!-- jdk8 对应的版本号为:5.6.34.jre8 -->
<version>5.6.34</version>
</dependency>
5.6.35 修复数据库Blob类型字段值长度为0时场景处理缺陷
1、修复数据库Blob类型字段值长度为0时场景处理缺陷
2、升级solon依赖为3.0.5版本、springboot3.4.1
感谢:@Legendary 的反馈
<!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy</artifactId>
<!-- jdk8 对应的版本号为:5.6.35.jre8 -->
<version>5.6.35</version>
</dependency>
<!-- springboot -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-spring-starter</artifactId>
<!-- jdk8 对应的版本号为:5.6.35.jre8 -->
<version>5.6.35</version>
</dependency>
<!-- solon 插件 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-solon-plugin</artifactId>
<!-- jdk8 对应的版本号为:5.6.35.jre8 -->
<version>5.6.35</version>
</dependency>
5.6.33 查询条件in参数值增加去除重复的功能
1、增强in条件的参数值去重功能
2、sql查询代替group_concat的link功能支持结果类型为HashSet
3、升级solon依赖为3.0.3版本
<!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy</artifactId>
<!-- jdk8 对应的版本号为:5.6.33.jre8 -->
<version>5.6.33</version>
</dependency>
<!-- springboot -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-spring-starter</artifactId>
<!-- jdk8 对应的版本号为:5.6.33.jre8 -->
<version>5.6.33</version>
</dependency>
<!-- solon 插件 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-solon-plugin</artifactId>
<!-- jdk8 对应的版本号为:5.6.33.jre8 -->
<version>5.6.33</version>
</dependency>
5.6.31 分页提取count语句算法优化、日期字符串毫秒、微妙位长度转换兼容
1、增强sql自动分页提取count部分sql的算法,兼容最终from前面有非(select from)对称场景:
select field1,(day from(xxx)) as aliase from table
2、优化DateUtil,对非规范长度的字符串(如:2024-11-07 10:52:36.12345)转LocalDateTime、LocalTime的兼容处理
3、强化opengauss系列getTables方法,表名匹配小写化
<!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy</artifactId>
<!-- jdk8 对应的版本号为:5.6.31.jre8 -->
<version>5.6.31</version>
</dependency>
<!-- springboot -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-spring-starter</artifactId>
<!-- jdk8 对应的版本号为:5.6.31.jre8 -->
<version>5.6.31</version>
</dependency>
<!-- solon 插件 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-solon-plugin</artifactId>
<!-- jdk8 对应的版本号为:5.6.31.jre8 -->
<version>5.6.31</version>
</dependency>
5.6.30 增加opengauss、stardb数据库的支持,将vastbase、mogdb改为继承opengauss模式
1、增加opengauss、stardb数据库的支持,将vastbase、mogdb改为继承opengauss模式
<!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy</artifactId>
<!-- jdk8 对应的版本号为:5.6.30.jre8 -->
<version>5.6.30</version>
</dependency>
<!-- springboot -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-spring-starter</artifactId>
<!-- jdk8 对应的版本号为:5.6.30.jre8 -->
<version>5.6.30</version>
</dependency>
<!-- solon 插件 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-solon-plugin</artifactId>
<!-- jdk8 对应的版本号为:5.6.30.jre8 -->
<version>5.6.30</version>
</dependency>
5.6.30.RC5 增加vastbase、stardb、opengauss数据库的支持
1、增加vastbase、stardb、opengauss数据库的支持(将gaussdb拆分出gaussdb和opengauss,vastbase、stardb、gaussdb继承opengauss模式)
5.6.29 增加海量数据库(vastbase)支持,优化个别rs.close行为
1、增加海量数据库(vastbase)支持,默认映射成gaussdb执行
2、分页最大单页记录pageFetchSizeLimit(对应参数:spring.sqltoy.pageFetchSizeLimit)小于0表示不做限制
3、优化个别rs.close()行为,统一放入finally块中处理
4、升级solon3.0.2版本
<!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy</artifactId>
<!-- jdk8 对应的版本号为:5.6.29.jre8 -->
<version>5.6.29</version>
</dependency>
<!-- springboot -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-spring-starter</artifactId>
<!-- jdk8 对应的版本号为:5.6.29.jre8 -->
<version>5.6.29</version>
</dependency>
<!-- solon 插件 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-solon-plugin</artifactId>
<!-- jdk8 对应的版本号为:5.6.29.jre8 -->
<version>5.6.29</version>
</dependency>
5.6.28 统一@if/@elseif/@else场景的逻辑
1、规范if/elseif/else的逻辑(历史版本:if场景,sql中无动态参数也会被剔除)
select * from table where name='测试'
-- 非if逻辑场景下,内部动态参数为null,最终为and status=1 也要自动剔除
#[and status=1 #[and type=:type] #[and orderName like :orderName] ]
-- flag==1成立,因为内容存在动态参数,所以继续变成#[and status=:status]参数为null剔除,不为null则保留
#[@if(:flag==1) and status=:status]
-- 成立,因为and status=1 没有动态参数,则保留and status=1
#[@if(:flag==1) and status=1 ]
#[@elseif(:flag==2) and status=2 ]
#[@else and status in (1,2)]
<!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy</artifactId>
<!-- jdk8 对应的版本号为:5.6.28.jre8 -->
<version>5.6.28</version>
</dependency>
<!-- springboot -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-spring-starter</artifactId>
<!-- jdk8 对应的版本号为:5.6.28.jre8 -->
<version>5.6.28</version>
</dependency>
<!-- solon 插件 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-solon-plugin</artifactId>
<!-- jdk8 对应的版本号为:5.6.28.jre8 -->
<version>5.6.28</version>
</dependency>
5.6.27 修复StringUtil.firstToLowerCase单字符处理缺陷
1、修复StringUtil.firstToLowerCase单字符处理缺陷
感谢:俊华的反馈
<!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy</artifactId>
<!-- jdk8 对应的版本号为:5.6.27.jre8 -->
<version>5.6.27</version>
</dependency>
<!-- springboot -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-spring-starter</artifactId>
<!-- jdk8 对应的版本号为:5.6.27.jre8 -->
<version>5.6.27</version>
</dependency>
<!-- solon 插件 -->
<dependency>
<groupId>com.sagframe</groupId>
<artifactId>sagacity-sqltoy-solon-plugin</artifactId>
<!-- jdk8 对应的版本号为:5.6.27.jre8 -->
<version>5.6.27</version>
</dependency>