首页
开源
资讯
活动
开源许可证
软件工程云服务
软件代码质量检测云服务
持续集成与部署云服务
社区个性化内容推荐服务
贡献审阅人推荐服务
群体化学习服务
重睛鸟代码扫描工具
登录
注册
代码拉取完成,页面将自动刷新
Watch
1
Star
0
Fork
194
karma0704
/
sagacity-sqltoy
forked from
sagframe
/
sagacity-sqltoy
Fork 仓库
加载中
取消
确认
确定同步?
同步操作将从
sagframe/sagacity-sqltoy
强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
同步 Wiki
(当前仓库的 wiki 将会被覆盖!)
取消
确定
代码
Issues
0
Pull Requests
0
Wiki
3
统计
标签
标签名
描述
提交信息
操作
5.6.33
1、增强in条件的参数值去重功能 2、sql查询代替group_concat的link功能支持结果类型为HashSet 3、升级solon依赖为3.0.3版本 ```xml <!-- 其他非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> ```
7220e04
2024-11-19 17:17
下载
5.6.32
1、增强in条件的参数值去重功能 ```xml <!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 --> <dependency> <groupId>com.sagframe</groupId> <artifactId>sagacity-sqltoy</artifactId> <!-- jdk8 对应的版本号为:5.6.32.jre8 --> <version>5.6.32</version> </dependency> <!-- springboot --> <dependency> <groupId>com.sagframe</groupId> <artifactId>sagacity-sqltoy-spring-starter</artifactId> <!-- jdk8 对应的版本号为:5.6.32.jre8 --> <version>5.6.32</version> </dependency> <!-- solon 插件 --> <dependency> <groupId>com.sagframe</groupId> <artifactId>sagacity-sqltoy-solon-plugin</artifactId> <!-- jdk8 对应的版本号为:5.6.32.jre8 --> <version>5.6.32</version> </dependency> ```
7220e04
2024-11-19 17:17
下载
5.6.31
1、增强sql自动分页提取count部分sql的算法,兼容最终from前面有非(select from)对称场景: ```sql select field1,(day form(xxx)) as aliase from table ``` 2、优化DateUtil,对非规范长度的字符串(如:2024-11-07 10:52:36.12345)转LocalDateTime、LocalTime的兼容处理 3、强化opengauss系列getTables方法,表名匹配小写化 ```xml <!-- 其他非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> ```
dcee1c9
2024-11-08 12:42
下载
5.6.30
1、增加opengauss、stardb数据库的支持,将vastbase、mogdb改为继承opengauss模式 ```xml <!-- 其他非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> ```
830a031
2024-10-28 12:41
下载
5.6.30.RC5
1、增加vastbase、stardb、opengauss数据库的支持
830a031
2024-10-28 12:41
下载
5.6.30.RC1
1、增加vastbase数据库的支持
830a031
2024-10-28 12:41
下载
5.6.29
1、增加海量数据库(vastbase)支持,默认映射成gaussdb执行 2、分页最大单页记录pageFetchSizeLimit(对应参数:spring.sqltoy.pageFetchSizeLimit)小于0表示不做限制 3、优化个别rs.close()行为,统一放入finally块中处理 4、升级solon3.0.2版本 ```xml <!-- 其他非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> ```
ae86238
2024-10-20 00:22
下载
5.6.28
1、规范if\else的逻辑 ```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 ] #[@else and status in (1,2)] ``` ```xml <!-- 其他非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> ```
1154f91
2024-10-15 21:17
下载
5.6.28.RC2
1、规范if\else的逻辑 ```sql select * from table where name=1 -- 非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 ] #[@else and status in (1,2)] ```
1154f91
2024-10-15 21:17
下载
5.6.27
1、修复StringUtil.firstToLowerCase单字符处理缺陷 ```xml <!-- 其他非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> ```
1154f91
2024-10-15 21:17
下载
5.6.26
1、针对batchUpdate、saveAll、updateAll、saveOrUpdateAll、loadAll等批量操作,针对超大数据集场景提供并行执行机制 ```java @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 逻辑 ```java 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 }); ``` ```xml <!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 --> <dependency> <groupId>com.sagframe</groupId> <artifactId>sagacity-sqltoy</artifactId> <!-- jdk8 对应的版本号为:5.6.26.jre8 --> <version>5.6.26</version> </dependency> <!-- springboot --> <dependency> <groupId>com.sagframe</groupId> <artifactId>sagacity-sqltoy-spring-starter</artifactId> <!-- jdk8 对应的版本号为:5.6.26.jre8 --> <version>5.6.26</version> </dependency> <!-- solon 插件 --> <dependency> <groupId>com.sagframe</groupId> <artifactId>sagacity-sqltoy-solon-plugin</artifactId> <!-- jdk8 对应的版本号为:5.6.26.jre8 --> <version>5.6.26</version> </dependency> ```
41fce73
2024-09-29 20:25
下载
5.6.26.RC10
1、针对batchUpdate、saveAll、updateAll、saveOrUpdateAll、loadAll等批量操作,针对超大数据集场景提供并行执行机制 ```java @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 逻辑 ```java 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 }); ```
41fce73
2024-09-29 20:25
下载
5.6.26.RC9
1、针对batchUpdate、saveAll、updateAll、saveOrUpdateAll、loadAll等批量操作,针对超大数据集场景提供并行执行机制 ```java @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 逻辑 ```java 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 }); ```
41fce73
2024-09-29 20:25
下载
5.6.26.RC8
1、针对batchUpdate、saveAll、updateAll、saveOrUpdateAll、loadAll等批量操作,针对超大数据集场景提供并行执行机制 ```java @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 逻辑 ```java String sql = """ select * from table where name=1 #[@if(:flag==1) and #[status=:status]] #[@elseif(:flag==2) and name like :name] #[@else and orderType=:orderType] """; SqlToyResult result = SqlConfigParseUtils.processSql(sql, new String[] { "flag", "status", "name", "orderType" }, new Object[] { 1, 1, "张", "SALE" }); ```
41fce73
2024-09-29 20:25
下载
5.6.26.RC3
1、针对batchUpdate、saveAll、updateAll、saveOrUpdateAll、loadAll等批量操作,针对超大数据集场景提供并行执行机制 ```java @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 逻辑 ```sql String sql = """ select * from table where name=1 #[@if(:flag==1) and #[status=:status]] #[@elseif(:flag==2) and name like :name] #[@else and orderType=:orderType] """; SqlToyResult result = SqlConfigParseUtils.processSql(sql, new String[] { "flag", "status", "name", "orderType" }, new Object[] { 1, 1, "张", "SALE" }); ```
41fce73
2024-09-29 20:25
下载
5.6.26.RC1
1、针对batchUpdate、saveAll、updateAll、saveOrUpdateAll、loadAll等批量操作,针对超大数据集场景提供并行执行机制 ```java @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); } ```
41fce73
2024-09-29 20:25
下载
5.6.25
1、save操作增加判断主键值不为空时,且是sequence主键策略则主动调整为assgin,避免sequence跳号 2、batchUpdate、executeSql操作时,增加判断sql是否是merge into 且方言是sqlserver,帮助自动补充分号结尾(sqlserver merge into 必须是;结尾) 3、完善代码注释以及变更日志,增强代码可理解性和变更原因 4、升级pom第三方组件的依赖版本 ```xml <!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 --> <dependency> <groupId>com.sagframe</groupId> <artifactId>sagacity-sqltoy</artifactId> <!-- jdk8 对应的版本号为:5.6.25.jre8 --> <version>5.6.25</version> </dependency> <!-- springboot --> <dependency> <groupId>com.sagframe</groupId> <artifactId>sagacity-sqltoy-spring-starter</artifactId> <!-- jdk8 对应的版本号为:5.6.25.jre8 --> <version>5.6.25</version> </dependency> <!-- solon 插件 --> <dependency> <groupId>com.sagframe</groupId> <artifactId>sagacity-sqltoy-solon-plugin</artifactId> <!-- jdk8 对应的版本号为:5.6.25.jre8 --> <version>5.6.25</version> </dependency> ```
9cb4a04
2024-09-29 09:45
下载
5.6.25.RC3
1、save操作增加判断主键值不为空时,且是sequence主键策略则主动调整为assgin,避免sequence跳号 2、batchUpdate、executeSql操作时,增加判断sql是否是merge into 且方言是sqlserver,帮助自动补充分号结尾(sqlserver merge into 必须是;结尾)
85eb5d8
2024-09-27 23:38
下载
5.6.24
1、增加 @if (:param exclude xxx)逻辑(include的取反) 2、优化deleteAll底层逻辑,改为delete from table id in (:ids),复合主键为: (code,type) in ((:codes,:types)) ```xml <!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 --> <dependency> <groupId>com.sagframe</groupId> <artifactId>sagacity-sqltoy</artifactId> <!-- jdk8 对应的版本号为:5.6.24.jre8 --> <version>5.6.24</version> </dependency> <!-- springboot --> <dependency> <groupId>com.sagframe</groupId> <artifactId>sagacity-sqltoy-spring-starter</artifactId> <!-- jdk8 对应的版本号为:5.6.24.jre8 --> <version>5.6.24</version> </dependency> <!-- solon 插件 --> <dependency> <groupId>com.sagframe</groupId> <artifactId>sagacity-sqltoy-solon-plugin</artifactId> <!-- jdk8 对应的版本号为:5.6.24.jre8 --> <version>5.6.24</version> </dependency> ```
50485ff
2024-09-20 21:32
下载
5.6.24.RC2
1、增加 @if (:param exclude xxx)逻辑(include的取反) 2、优化deleteAll底层逻辑,改为delete from table id in (:ids),复合主键为: (code,type) in ((:codes,:types)) ```xml <!-- 其他非spring框架可以基于sagacity-sqltoy 进行扩展 --> <dependency> <groupId>com.sagframe</groupId> <artifactId>sagacity-sqltoy</artifactId> <!-- jdk8 对应的版本号为:5.6.24.RC2.jre8 --> <version>5.6.24.RC2</version> </dependency> <!-- springboot --> <dependency> <groupId>com.sagframe</groupId> <artifactId>sagacity-sqltoy-spring-starter</artifactId> <!-- jdk8 对应的版本号为:5.6.24.RC2.jre8 --> <version>5.6.24.RC2</version> </dependency> <!-- solon 插件 --> <dependency> <groupId>com.sagframe</groupId> <artifactId>sagacity-sqltoy-solon-plugin</artifactId> <!-- jdk8 对应的版本号为:5.6.24.RC2.jre8 --> <version>5.6.24.RC2</version> </dependency> ```
50485ff
2024-09-20 21:32
下载
下载
请输入验证码,防止盗链导致资源被占用
取消
下载