内容简介:致谢: 2020 年马上就结束了,感谢大家对 sqltoy 的积极参与,让 sqltoy 得以快速完善! 开源地址: github: https://github.com/sagframe/sagacity-sqltoy gitee: https://gitee.com/sagacity/sagacity-sqltoy ...
致谢:
2020 年马上就结束了,感谢大家对 sqltoy 的积极参与,让 sqltoy 得以快速完善!
开源地址:
- github: https://github.com/sagframe/sagacity-sqltoy
- gitee: https://gitee.com/sagacity/sagacity-sqltoy
- idea 插件(可直接在idea中检索安装): https://github.com/threefish/sqltoy-idea-plugins
更新内容
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);
- 数据旋转
- 无限极分组统计(含汇总求平均),算法配置简单又跨数据库!
- 同比环比
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。