秒杀mybatis的sqltoy-orm-4.17.15发版
开源地址:
- 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、缓存在默认ehcache的基础上增加caffeine的支持
- 为什么说sqltoy可以秒杀mybatis?
在其它一切对等的前提下,sql的写法决定了mybatis就是玷污我们的项目代码,几行简洁的代码写成十几行出来,同时很不清晰、后期也难以维护
用严谨的逻辑法则(其他对等情况下),从效果而言两者就是罗玉凤和林志玲的差别!
- 其他功能跟mybatis对等吗?
其实不只是对等,如果只靠一个sql的编写方式就花费较大精力搞开源是绝对不可取的,必须有更多亮点来支撑开源的动力和意义。
- sqltoy简要介绍(关于jpa式的增删改对象加载属于常规功能,这里不做介绍)
- 缓存翻译,利用缓存减少关联查询,简化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);
- 数据旋转
- 同比环比