sagacity-sqltoy-5.1.18、4.19.9 发版,优化 POJO 注解解析支持多级继承

来源: 投稿
作者: zhongxuchen
2021-11-30

开源地址:

更新内容

1、优化POJO注解解析,支持多级继承关系,并优化部分代码

sqltoy的关键优势:

//------------------了解 sqltoy的关键优势: -------------------------------------------------------------------------------------------*/
//1、最简最直观的sql编写方式(不仅仅是查询语句),采用条件参数前置处理规整法,让sql语句部分跟客户端保持高度一致
//2、sql中支持注释(规避了对hint特性的影响,知道hint吗?搜oracle hint),和动态更新加载,便于开发和后期维护整个过程的管理
//3、支持缓存翻译和反向缓存条件检索(通过缓存将名称匹配成精确的key),实现sql简化和性能大幅提升
//4、支持快速分页和分页优化功能,实现分页最高级别的优化,同时还考虑到了cte多个with as情况下的优化支持
//5、支持并行查询
//6、根本杜绝sql注入问题
//7、支持行列转换、分组汇总求平均、同比环比计算,在于用算法解决复杂sql,同时也解决了sql跨数据库问题
//8、支持保留字自动适配
//9、支持跨数据库函数自适配,从而非常有利于一套代码适应多种数据库便于产品化,比如oracle的nvl,当sql在mysql环境执行时自动替换为ifnull
//10、支持分库分表
//11、提供了取top、取random记录、树形表结构构造和递归查询支持、updateFetch单次交互完成修改和查询等实用的功能
//12、sqltoy的update、save、saveAll、load 等crud操作规避了jpa的缺陷,参见update(entity,String...forceUpdateProps)和updateFetch
//13、提供了极为人性化的条件处理:排它性条件、日期条件加减和提取月末月初处理等
//14、提供了查询结果日期、数字格式化、安全脱敏处理,让复杂的事情变得简单,大幅简化sql或结果的二次处理工作 //15、支持字段加密存储、查询解密展示,以及辅助字段脱敏便于检索
//-----------------------------------------------------------------------------------*/

sqltoy特点介绍:

  • 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;

阐述sqltoy为什么秒杀mybatis(plus)

  • 极致的分页,同样帮助你实现查询的性能大幅提升
  1. 快速分页:@fast() 实现先取单页数据然后再关联查询,极大提升速度
  2. 分页优化器:page-optimize 让分页查询由两次变成1.3~1.5次(用缓存实现相同查询条件的总记录数量在一定周期内无需重复查询
  3. sqltoy的分页取总记录的过程不是简单的select count(1) from (原始sql);而是智能判断是否变成:select count(1) from 'from后语句', 并自动剔除最外层的order by
  4. sqltoy支持并行查询:parallel="true",同时查询总记录数和单页数据,大幅提升性能
阐述sqltoy为什么秒杀mybatis(plus)
 
  • 便利的跨数据库统计计算:数据旋转
阐述sqltoy为什么秒杀mybatis(plus)
  • 便利的跨数据库统计计算:无限极分组统计(含汇总求平均)
阐述sqltoy为什么秒杀mybatis(plus)
  • 便利的跨数据库统计计算:同比环比
阐述sqltoy为什么秒杀mybatis(plus)

 

展开阅读全文
1 收藏
分享
加载中
最新评论 (7)
我来了哈
2021-12-01 10:21
0
回复
举报
感谢支持!
2021-12-01 10:58
0
回复
举报
厉害哦!!
2021-11-30 15:59
0
回复
举报
sql文件维护起来非常好 内网应用无需缓存 实时修改 sql模板极其贴心 就是这个措辞 emmmmm……
2021-11-30 14:06
0
回复
举报
评价也太高了,谢谢,缓存那块推荐可以深入应用,一定会再次夸赞sqltoy,那不是缓存,是缓存翻译,用于大幅减少表关联查询,对查询语句是性能和sql的简洁有极大帮助,性能提升往往是数倍的提升,值得一试
2021-12-01 18:51
0
回复
举报
评价是从心的 缓存说真的 没用过 但是外观上是我们现在缓存机制的高级封装 确实很赞 很符合国情的设计 很贴心
2021-12-01 22:33
0
回复
举报
缓存--》翻译,这里核心是翻译,以订单查询为例,正常要显示商品名称、订单状态,就需要关联商品表、数据字典表,变成了多表关联查询,如果用缓存《翻译》,就可以变成单表查询,效率和简洁性都大幅提升
另外还需了解分页优化,这几个对性能提升有极大极大帮助
2021-12-02 09:41
0
回复
举报
更多评论
7 评论
1 收藏
分享
返回顶部
顶部