sagacity-sqltoy-5.1.6 发版,你还在用 mybatis(plus) 吗?
开源地址:
- github: https://github.com/sagframe/sagacity-sqltoy
- gitee: https://gitee.com/sagacity/sagacity-sqltoy
- idea 插件(可直接在idea中检索安装): https://github.com/threefish/sqltoy-idea-plugins
更新内容
2、优化queryResult中labelTypes类型处理(针对存在缓存翻译、格式化场景改变了结果类型),此类型数据为备用属性,不影响实际查询过程
3、升级依赖库版本
qltoy的关键优势:
//------------------了解 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或结果的二次处理工作 //-----------------------------------------------------------------------------------*/
sqltoy特点介绍:
- JPA式的crud是基本共识,但sqltoy改进了update,增加了updateFetch
- sqltoy的update、updateAll,弹性设置强制修改属性,一次性数据库交互,解决并发问题
/** * @todo 修改数据并返回数据库记录变更数量(非强制修改属性,当属性值为null不参与修改) * @param entity * @param forceUpdateProps 强制修改的字段属性 * @return Long 数据库记录变更量(插入数据量) */ public Long update(Serializable entity, String... forceUpdateProps); /** * @TODO 批量修改操作,并可以指定强制修改的属性(非强制修改属性,当属性值为null不参与修改) * @param <T> * @param entities * @param forceUpdateProps * @return Long 数据库记录变更量(插入数据量) */ public <T extends Serializable> Long updateAll(List<T> entities, String... forceUpdateProps); //保存或修改数据并返回数据库记录变更数量 public Long saveOrUpdate(Serializable entity, String... forceUpdateProps);
- updateFetch: 一次交互完成锁查询、修改,并返回修改后的结果,尤其适用于库存台账、资金台账场景
// sqltoy的updateFetch是jpa没有的,可以深入了解其原理,一次交互完成查询、锁定、修改并返回修改后结果 /** * @todo 获取并锁定数据并进行修改(只支持针对单表查询,查询语句要简单) * @param queryExecutor * @param updateRowHandler * @return */ public List updateFetch(final QueryExecutor queryExecutor, final UpdateRowHandler updateRowHandler);
- sqltoy最佳sql编写模式,便于开发和后期维护
- sqltoy的缓存翻译,大幅减少表关联简化sql,让你的查询性能成几何级提升
- 极致的分页,同样帮助你实现查询的性能大幅提升
- 快速分页:@fast() 实现先取单页数据然后再关联查询,极大提升速度
- 分页优化器:page-optimize 让分页查询由两次变成1.3~1.5次(用缓存实现相同查询条件的总记录数量在一定周期内无需重复查询
- sqltoy的分页取总记录的过程不是简单的select count(1) from (原始sql);而是智能判断是否变成:select count(1) from 'from后语句', 并自动剔除最外层的order by
- sqltoy支持并行查询:parallel="true",同时查询总记录数和单页数据,大幅提升性能
- 便利的跨数据库统计计算:数据旋转
- 便利的跨数据库统计计算:无限极分组统计(含汇总求平均)
- 便利的跨数据库统计计算:同比环比

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
13 种高维向量检索算法全解析!数据库顶会 VLDB 2021 论文作者干货分享
编者按: 以图搜图、商品推荐、社交推荐等社会场景中潜藏了大量非结构化数据,这些数据被工程师们表达为具有隐式语义的高维向量。为了更好应对高维向量检索这一关键问题,杭州电子科技大学计算机专业硕士王梦召等人探索并实现了「效率和精度最优权衡的近邻图索引」,并在数据库顶会 VLDB 2021 上发表成果。 作为连接生产和科研的桥梁,Zilliz 研究团队一直与学界保持交流、洞察领域前沿。此次,王梦召来到 Z 星,从研究动机、算法分析、实验观测和优化讨论等维度展开讲讲最新的科研成果。 以下是他的干货分享,点击这里可获得论文全文 。 高维数据检索:基于近邻图的近似最近邻搜索算法实验综述 导言 向量检索是很多 AI 应用必不可少的基础模块。近年来,学术界和工业界提出了很多优秀的基于近邻图的ANNS 算法以及相关优化,以应对高维向量的检索问题。但是针对这些算法,目前缺乏统一的实验评估和比较分析。 为了优化算法设计、进一步落地工业应用,我们完成了论文《A Comprehensive Survey and Experimental Comparison of Graph-Based Approximate ...
- 下一篇
skyeye-report 1.1.9 发布,高性能报表引擎
skyeye-report 是一款高性能的 Java 报表引擎,提供完善的基于网页的报表设计器,可快速做出各种复杂的中式报表。支持多种数据源以及拖拽式报表功能,支持大屏报表设计。 注意事项 开源不易,给个star吧 本系列其他商业产品:https://docs.qq.com/doc/DQlRxcVRMWWVjbU1i?_from=1&disableReturnList=1 免费进QQ群:1016439713。禁止发广告、招人信息等,一经发现直接踢出。 不会搭建环境的,可以出钱让作者帮忙搭建,一次100,先付 该报表引擎属于开源软件,商业用途请保留作者相关信息以及产品著作权信息 以下条例视为侵权操作: a.下载项目后,私自修改项目出处、署名、版权、项目名称等信息 b.允许商用,但禁止以盈利为目的进行销售(意思就是说禁止销售) c.私自修改项目默认首页信息 skyeye-report 1.1.9版本发布: 新增属性配置功能 新增文字模型配置功能 解决数据源编辑的bug 解决文件模型无法删除的bug 效果截图: 效果图 效果图 贡献开发者 卫志强 郑杰
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Mario游戏-低调大师作品
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Red5直播服务器,属于Java语言的直播服务器