内容简介:开源地址: github: https://github.com/sagframe/sagacity-sqltoy gitee: https://gitee.com/sagacity/sagacity-sqltoy idea 插件(可直接在idea中检索安装): https://github.com/threefish/sqltoy-idea-plugins...
开源地址:
- github: https://github.com/sagframe/sagacity-sqltoy
- gitee: https://gitee.com/sagacity/sagacity-sqltoy
- idea 插件(可直接在idea中检索安装): https://github.com/threefish/sqltoy-idea-plugins
更新内容
1、LockMode目前分:UPGRADE: 等待其它事务释放后锁记录、UPGRADE_NOWAIT:有其它事务锁记录则抛错;UPGRADE_SKIPLOCK:跳过其它事务锁的记录
2、updateFetch 操作锁类型默认为UPGRADE
3、针对updateFetch和findBySql查询语句增强for update等关键词识别,存在锁语句则不再额外加锁
4、在quickstart中提供了并发锁记录操作演示范例,适用于库存台账、资金台账等场景
5、lazyDao中增加updateBatch(String sqlOrId,List dataSet) 方法,简化调用
- 简要介绍sqltoy的几个特点(jpa式的对象crud大家早习以为常不作介绍)
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);
- 数据旋转

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

- 同比环比

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
从规范出发的程序设计
[美] Carroll Morgan / 裘宗燕 / 机械工业出版社 / 2002-8 / 45.00元
本书详细论述了有关规范程序设计的内容,包括:程序和精化、谓词演算、选择、迭代、构造类型、模块和封装等,最后几章还包含了大量的实例研究和一些更高级的程序设计技术。本书提倡一种严格的程序开发方法,分析问题要用严格方式写出程序的规范,而后通过一系列具有严格理论基础的推导,最终得到可以运行的程序。 本书是被世界上许多重要大学采用的教材,适于计算机及相关专业的本科生和研究生使用。一起来看看 《从规范出发的程序设计》 这本书的介绍吧!