开源地址:
- github: https://github.com/sagframe/sagacity-sqltoy
- gitee: https://gitee.com/sagacity/sagacity-sqltoy
- idea 插件(可直接在idea中检索安装): https://github.com/threefish/sqltoy-idea-plugins
5.2.0 更新内容
- sqltoy抽离对spring的依赖,便于其他框架对sqltoy扩展
5.1.35~5.1.46 更新内容
- 2、优化NumberUtil数字转英文支持万亿及以上数值[优化]
- 3、缓存翻译配置文件支持多个文件和目录下自动检索加载[优化]
- 4、select concat(id,'/',amt) from 查询出byte[] 数组,并映射到对象字符类型属性上的场景[优化]
- 5、where #[条件] limit 条件不成立变成了where limit ,增加了limit 关键词处理,同时补全where 1=1避免特殊情况发生[bug]
- 6、优化@loop(:values) 默认跳过values中的null和空白,同时增加@loop-full(:values)提供全量循环[优化]
- 7、修复postgresql identity主键策略保存返回id跟建表字段顺序有关的缺陷(identity 主键不在第一列)[bug]
- 8、支持多字段in,例如:(id,type) in ((:ids,:types)) 或 (id,type) in (:ids,:types)[优化]
- 9、summary汇总求平均计算增加skip-single-row属性(默认false),可设置单行分组记录不进行汇总求平均计算[优化]
- 10、unpivot列转行支持多组列转行[优化]
- 11、优化wrapTreeTable组织树结构过程中idField数据类型判断,减少手工设置[优化]
sqltoy特点介绍:

- sqltoy的对比mybatis(plus)和fluent mybatis的核心点:查询语句编写、可阅读性、可维护性


- 对象化crud是基础,但sqltoy有针对性的改进:update、updateSaveFetch、updateFetch等

- sqltoy的缓存翻译,大幅减少表关联简化sql,让你的查询性能成几何级提升
除xml配置模式外,也支持注解模式
@Translate(cacheName = "dictKeyName", cacheType = "DEVICE_TYPE", keyField = "deviceType")
private String deviceTypeName;
@Translate(cacheName = "staffIdName", keyField = "staffId")
private String staffName;

- 快速分页:@fast() 实现先取单页数据然后再关联查询,极大提升速度
- 分页优化器:page-optimize 让分页查询由两次变成1.3~1.5次(用缓存实现相同查询条件的总记录数量在一定周期内无需重复查询
- sqltoy的分页取总记录的过程不是简单的select count(1) from (原始sql);而是智能判断是否变成:select count(1) from 'from后语句', 并自动剔除最外层的order by
- sqltoy支持并行查询:parallel="true",同时查询总记录数和单页数据,大幅提升性能


- 便利的跨数据库统计计算:无限极分组统计(含汇总求平均)
