
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
开源地址:
github: https://github.com/sagframe/sagacity-sqltoy
gitee: #/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);
数据旋转
无限极分组统计(含汇总求平均),算法配置简单又跨数据库!
同比环比
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!