您现在的位置是:首页 > 文章详情

真正智慧的 ORM 框架 sqltoy-orm 5.6.46 发版

日期:2025-05-21点击:21

开源地址:

更新内容 

1、增加@secure-loop 和 @secure-loop-full 非注入循环

 //secure-loop自动去除循环中的null记录,secure-loop-full则不去除null记录 selet * from table t1 where 1=1 #[(@secure-loop(:nameList ,' t1.name like :nameList[i] ',' or '))] 

2、增加修改指定字段的功能

 lightDao.update().updateFields(field1,field2).one(entitiy); lightDao.update().updateFields(field1,field2).many(entities);

3、增加了对sql中参数进行sql注入校验功能

 <sql id="show_case"> <filters> <!-- 一般针对@loop(:paramList)、@value(:paramName) 中涉及到的参数进行sql注入校验: level分3种: STRICT_WORD 数字字符下划线; RELAXED_WORD:宽松形式的单词(允许点号、@、#、中文等非危险性符号); SQL_KEYWORD sql关键词(select\drop\limit\delete\sleep\group by\order by\ or/and x=x 等) --> <valid-sqlInjection params="productIds" level="STRICT_WORD"/> </filters> </sql>
  • sqltoy 的对比 mybatis (plus) 的核心点:查询语句编写、可阅读性、可维护性

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

  • sqltoy 的缓存翻译,大幅减少表关联简化 sql,让你的查询性能成几何级提升

阐述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)
5、树形表排序汇总

6、扩展集成

原文链接:https://www.oschina.net/news/350881
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章