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

sqltoy-orm 4.17.7,2020 年最后一个小优化

日期:2020-12-29点击:456

致谢:

2020 年马上就结束了,感谢大家对 sqltoy 的积极参与,让 sqltoy 得以快速完善!

开源地址:

更新内容

1、兼容POJO属性名称跟数据库表字段名称不一致特殊场景

备注:如针对数据库字段前缀进行统一剔除,请结合 quickvo4.17.3 版本使用(fields-rid-prefix 参数),有些特殊用户数据库字段命名喜欢增加统一的前缀,如:F_STATUS  ,在实际 java 类中希望剔除掉 F_
 

 <tasks dist="../../src/main/java" encoding="UTF-8">     <task fields-rid-prefix="F_" active="true" author="zhongxuchen" include="^SQLTOY_\w+"                    datasource="quickstart" swagger-model="false">       <!-- extends 属性可以指定抽象类继承的父类 -->       <vo package="${project.package}.quickstart.vo" substr="Sqltoy" name="#{subName}VO" />     </task> </tasks>

此场景的完善主要是防范极端场景让框架本身更加完备,但实际中建议属性名称跟表字段名称保持一致(剔除下划线的前提下)

  • 简要介绍sqltoy的几个特点

sqltoy 提供了最简洁的动态 sql 编写

我们对比一下mybatis的实现(从可阅读、可维护等视角看)

  • 缓存翻译,利用缓存减少关联查询,简化sql同时大幅提升效率

  • 极致分页优化

  • 并行查询
 // 使用并行查询同时执行2个sql,条件参数是2个查询的合集 String[] paramNames = new String[] { "userId", "defaultRoles", "deployId", "authObjType" }; Object[] paramValues = new Object[] { userId, defaultRoles, DEPLOY_ID,GROUP }; List<QueryResult<TreeModel>> list = super.parallQuery( Arrays.asList(ParallQuery.create().sql("webframe_searchAllModuleMenus").resultType(TreeModel.class), ParallQuery.create().sql("webframe_searchAllUserReports").resultType(TreeModel.class)), paramNames, paramValues);
  • 数据旋转

  • 无限极分组统计(含汇总求平均),算法配置简单又跨数据库!
  • 同比环比

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

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

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

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

文章评论

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

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章