sagacity-sqltoy 4.17.13 已经发布,基于 java 语言的 orm 框架
此版本更新内容包括:
1、分页支持并行查询
xml配置模式:parallel="true"
<sql id="qstart_fastPage">
<!-- 分页优化器,通过缓存实现查询条件一致的情况下在一定时间周期内缓存总记录数量,从而无需每次查询总记录数量 -->
<!-- alive-max:最大存放多少个不同查询条件的总记录量; alive-seconds:查询条件记录量存活时长(比如120秒,超过阀值则重新查询) -->
<!-- parallel: 是否并行count和记录查询开关; parallel-maxwait-seconds:并行查询最大等待时长(可以不填) -->
<page-optimize parallel="true" alive-max="100" alive-seconds="120" />
<value>
<![CDATA[
select t1.*,t2.ORGAN_NAME
-- @fast() 实现先分页取10条(具体数量由pageSize确定),然后再进行管理
from @fast(select t.*
from sqltoy_staff_info t
where t.STATUS=1
#[and t.STAFF_NAME like :staffName]
order by t.ENTRY_DATE desc
) t1
left join sqltoy_organ_info t2 on t1.organ_id=t2.ORGAN_ID
]]>
</value>
<!-- 这里为极特殊情况下提供了自定义count-sql来实现极致性能优化 -->
<!-- <count-sql></count-sql> -->
</sql>
java直接设置:new PageOptimize().parallel(true)
PaginationModel<StaffInfoVO> result = sqlToyLazyDao
.findPageByQuery(pageModel,
new QueryExecutor("qstart_fastPage").values(staffVO)
.pageOptimize(new PageOptimize().parallel(true)).resultType(StaffInfoVO.class))
.getPageResult();
详情查看:https://gitee.com/sagacity/sagacity-sqltoy/releases/4.17.13