新一代国产 ORM 框架 sagacity-sqltoy-5.2.9 发版
开源地址:
- github: https://github.com/sagframe/sagacity-sqltoy
- gitee: https://gitee.com/sagacity/sagacity-sqltoy
- idea 插件 (可直接在 idea 中检索安装): https://github.com/threefish/sqltoy-idea-plugins
更新内容
1、针对产品化的软件(适配多种数据库:mysql\oracle\postgres\db2\mssql),要求在一个数据库场景下可以测试相同的功能是否可以适配不同数据库
2、增强sql执行日志,针对分页细化count和取记录的耗时信息
#开启不同数据库函数自适配 spring.sqltoy.functionConverts=default #设置本项目需要额外适配验证的不同数据库的数据源 spring.sqltoy.redoDataSources[0]=oracleDatasource spring.sqltoy.redoDataSources[1]=sqlserverDatasource
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或结果的二次处理工作 //-----------------------------------------------------------------------------------*/
sqltoy 特点介绍:
- sqltoy 的核心构建思想
- sqltoy 的对比 mybatis (plus) 的核心点:查询语句编写、可阅读性、可维护性
- 对象化 crud 是基础,但 sqltoy 有针对性的改进:update、updateSaveFetch、updateFetch 等
- 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业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
bootx-platform v1.1.0:正式版发布!!!
🍈项目介绍 项目地址:https://gitee.com/bootx/bootx-platform,非常欢迎看看项目介绍留以及个Star呀🤺🤺🤺 基于Spring Boot框架打造,针对单体式应用进行专门设计,提供整套服务模块,努力为打造全方位企业级开发解决方案, 致力将开源版打造成超越商业版后台管理框架的项目。前端分为vue2版和vue3版,vue2使用ANTD PRO VUE作为脚手架,vue3使用Vben-Admin-Next作为脚手架(开发中)。 移动端使用Tarovue3+TS为技术栈(开发中)。分布式版本 Bootx-Cloud(计划后期重启),尽请期待。 🍒更新说明 经过一年十二个版本的更新,成功达到了正式版本的要求,下一步的计划是,将Flowable工作流给集成到系统中,尽全力打造出一个优秀的开源业务脚手架项目。 🛠️本次功能更新 增加站内信发送和接收功能 增加微信自定义菜单管理 增加微信素材媒体管理功能 增加微信消息模板管理 增加微信消息发送 增加微信公众号绑定和登录, 与微信开放平台登录做区分 增加普通查询器组件 增加邮件发送演示DEMO 增加动态设计表...
- 下一篇
ioGame 网络游戏服务器框架(Java)v17.1.13 新增 flow 上下文工厂、通讯增强
主要更新 (#I5N97K、#I5N97H) #I5N97K (可跨进程通信) 游戏逻辑服与同类型逻辑服通信,超时问题; 在之前的版本中,使用通讯方式--游戏逻辑服与同类型逻辑服通信时,当目标游戏逻辑服中的业务处理时间过长时,框架不能按开发者的预期值返回(相当于超时了),现在改为默认是在调用端进行阻塞,直到得到目标游戏逻辑服返回的结果为止; 新增 SyncRequestMessageClientProcessor、SyncRequestMessage 来处理超业务逻辑时间比较长的业务。 这个改进对开发者是无感知的; 使用的处理方式还是: CompletableFuture、ForkJoinPool 等,即总耗时为最长那个业务逻辑的耗时;如,A用时1秒、B用时2秒、C用时2.2秒,那么总耗时大概是2.2秒; 但如果超过在 BrokerGlobalConfig.timeoutMillis 中设置的时间,仍然会做报错的提示,防止开发者因为编写业务逻辑时引发的问题; #I5N97H 自定义 FlowContext 开发者可以自定义 FlowContext 方便做一些方法上的扩展,这些定制可以...
相关文章
文章评论
共有0条评论来说两句吧...