新一代国产 ORM 框架,sagacity-sqltoy-5.2.39 发版
开源地址:
- github: https://github.com/sagframe/sagacity-sqltoy
- gitee: https://gitee.com/sagacity/sagacity-sqltoy
- idea 插件 (可直接在 idea 中检索安装): https://github.com/threefish/sqltoy-idea-plugins
更新内容
1、强化接口参数合法性校验
2、修复unifyFieldsHandler未配置场景下产生的NullPointException
3、完善SqlInterceptor,为开发者提供特定场景下进行执行干预提供条件
4、优化sql语句中查询条件参数值为null场景的处理
select * from table where t.field<>? and t.field1=? -- 参数值为null select * from table where t.field is not null and t.field1 is null -- 如刻意需要field=null select * from table where #[@if(:field==null) field=null] #[@if(:field!=null) field=:field]
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业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Jmix 框架 1.5.0 版本发布 - 企业级少代码快速开发框架
Jmix 快速开发框架 1.5.0 版本发布,这次发布主要包含了 Flow UI 的大量新功能和许多改进,推荐升级: 主要新功能: - Flow UI 增加了新组件:标签页、复选下拉框、文件上传、图片。 - Flow UI 的很多组件支持 Tooltip 提示窗。 - Flow UI 支持不阻塞用户界面的后台任务。 - 支持 Flow UI 的扩展组件:多租户、定时任务、应用程序设置、表格导出。 - 增加了经典 UI 和 Flow UI 的悲观锁管理界面。 - 表格导出支持导出所有行。 预览功能: - Flow UI 通用过滤器。目前仅支持属性条件。 主要 Bug 修复: - 全局过滤器可以在没有许可的情况下修改或删除的问题。 - 报表组件和 MariaDB 数据库创建失败的问题。 - SideMenu 仅展示有限个子菜单项的问题。 - MenuConfig 无法通过 XML 给类传参的问题。 - 实体探查中空字段导出导入错误的问题。 详细修复的问题列表,请参考 Jmix GitHub: https://github.com/jmix-framework/jmix/issues...
- 下一篇
EasyGoAdmin 敏捷开发框架 Gin+EleVue 版本 v2.1.0 发布
v2.1.0 更新内容: 1、解决用户管理模块性别筛选失效的问题; 2、格式化模块Dto数据结构格式,规范化编码; 3、通知公告新增富文本插入图盘和正则解析图片的问题; 4、广告管理新增富文本插入图盘和正则解析图片的问题; 5、优化系统配置管理模块,完善表结构; 6、解决代码生成器生成按钮和批量生成按钮无法显示的问题; 7、优化菜单表结构,移除method请求方式字段; 8、修复近期用户使用过程中反馈的BUG; 一款 Go 语言基于 Gin、Xorm、Vue、ElementUI、MySQL 等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可快速搭建前后端分离后台管理系统,本着简化开发、提升开发效率的初衷,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式,同时为了敏捷快速开发,框架特地集成了代码生成器,完全自主研发了自定义 GO 后端服务模板和前端 Vue 自定义模板,可以根据已建好的表结构,可以快速的一键生成整个模块的所有代码和增删改查等等功能业务,真正实现了低代码开发方式,极大的节省了人力成本的同时提高了开发效率,缩短了研发周期,是一款真正意义上实现组...
相关文章
文章评论
共有0条评论来说两句吧...