sqltoy-orm 5.6.26.RC10 发布,ORM 框架
sqltoy-orm 5.6.26.RC10 已经发布,ORM 框架
此版本更新内容包括:
1、针对batchUpdate、saveAll、updateAll、saveOrUpdateAll、loadAll等批量操作,针对超大数据集场景提供并行执行机制
@Test
public void testDeleteAll() {
List entites = new ArrayList();
for (int i = 1; i < 3000; i++) {
entites.add(new ComplexpkHeadVO(LocalDateTime.parse("2020-09-08T12:11:20"), "S000" + i));
}
// 最小1000作为一个并行分组,并行度10、最大等待时间120秒
lightDao.delete().parallelConfig(ParallelConfig.create().groupSize(1000)
.maxThreads(10).maxWaitSeconds(120)).many(entites);
//批量修改
//lightDao.update().parallelConfig(ParallelConfig.create().groupSize(1000)).many(entites);
//批量保存
//lightDao.save().parallelConfig(ParallelConfig.create().groupSize(1000)).many(entites);
//批量saveOrUpdate,saveMode(SaveMode.UPDATE)存在则修改
//lightDao.save().saveMode(SaveMode.UPDATE).parallelConfig(ParallelConfig.create()
// .groupSize(1000)).many(entites);
}
2、sql支持if\elseif\else 逻辑
String sql = """
select * from table where 1=1
#[@if(:flag==1) and status=:status
#[@if(:operateType==2) and saleType is not :saleType]
#[@else and saleType is :saleType]
]
#[@elseif(:flag==2) and name like :name]
#[@else and orderType=:orderType]
#[@if(:tenantId==4) and tenant=1]
#[@elseif(:tenantId==3) and tenant=3]
""";
SqlToyResult result = SqlConfigParseUtils.processSql(sql,new String[] { "flag", "status", "name", "orderType", "saleType", "operateType", "tenantId" },new Object[] { 1, 1, "张", "SALE", null, 4, 3 });
详情查看:https://gitee.com/sagacity/sagacity-sqltoy/releases/5.6.26.RC10