内容简介:开源地址: 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、修复NumberUtil类数字转中文金额过亿元万位数全为零的一个缺陷
2、elastic sql http模式执行下增加@blank(:name)和@value(:name)
- sqltoy的关键优势:
//------------------了解 sqltoy的关键优势: -------------------------------------------------------------------------------------------*/
//1、最简最直观的 sql 编写方式(不仅仅是查询语句),采用条件参数前置处理规整法,让sql语句部分跟客户端保持高度一致
//2、sql中支持注释(规避了对hint特性的影响,知道hint吗?搜oracle hint),和动态更新加载,便于开发和后期维护整个过程的管理
//3、支持缓存翻译和反向缓存条件检索(通过缓存将名称匹配成精确的key),实现sql简化和性能大幅提升
//4、支持快速分页和分页优化功能,实现分页最高级别的优化,同时还考虑到了cte多个with as情况下的优化支持
//5、支持并行查询
//6、根本杜绝sql注入问题
//7、支持行列转换、分组汇总求平均、同比环比计算,在于用算法解决复杂sql,同时也解决了sql跨数据库问题
//8、支持保留字自动适配
//9、支持跨数据库函数自适配,从而非常有利于一套代码适应多种数据库便于产品化,比如oracle的nvl,当sql在 mysql 环境执行时自动替换为ifnull
//10、支持分库分表
//11、提供了取top、取random记录、树形表结构构造和递归查询支持、updateFetch单次交互完成修改和查询等实用的功能
//12、sqltoy的update、save、saveAll、load 等crud操作规避了jpa的缺陷,参见update(entity,String...forceUpdateProps)和updateFetch
//13、提供了极为人性化的条件处理:排它性条件、日期条件加减和提取月末月初处理等
//14、提供了查询结果日期、数字格式化、安全脱敏处理,让复杂的事情变得简单,大幅简化sql或结果的二次处理工作
//-----------------------------------------------------------------------------------*/
sqltoy特点介绍:
- JPA式的crud是基本共识,但sqltoy改进了update,增加了updateFetch

- sqltoy的update、updateAll,弹性设置强制修改属性,一次性数据库交互,解决并发问题
/**
* @todo 修改数据并返回数据库记录变更数量(非强制修改属性,当属性值为null不参与修改)
* @param entity
* @param forceUpdateProps 强制修改的字段属性
* @return Long 数据库记录变更量(插入数据量)
*/
public Long update(Serializable entity, String... forceUpdateProps);
/**
* @TODO 批量修改操作,并可以指定强制修改的属性(非强制修改属性,当属性值为null不参与修改)
* @param <T>
* @param entities
* @param forceUpdateProps
* @return Long 数据库记录变更量(插入数据量)
*/
public <T extends Serializable> Long updateAll(List<T> entities, String... forceUpdateProps);
//保存或修改数据并返回数据库记录变更数量
public Long saveOrUpdate(Serializable entity, String... forceUpdateProps);
- updateFetch: 一次交互完成锁查询、修改,并返回修改后的结果,尤其适用于库存台账、资金台账场景
// sqltoy的updateFetch是jpa没有的,可以深入了解其原理,一次交互完成查询、锁定、修改并返回修改后结果
/**
* @todo 获取并锁定数据并进行修改(只支持针对单表查询,查询语句要简单)
* @param queryExecutor
* @param updateRowHandler
* @return
*/
public List updateFetch(final QueryExecutor queryExecutor, final UpdateRowHandler updateRowHandler);
- sqltoy最佳sql编写模式,便于开发和后期维护


- sqltoy的缓存翻译,大幅减少表关联简化sql,让你的查询性能成几何级提升
- 极致的分页,同样帮助你实现查询的性能大幅提升
- 快速分页:@fast() 实现先取单页数据然后再关联查询,极大提升速度
- 分页优化器:page-optimize 让分页查询由两次变成1.3~1.5次(用缓存实现相同查询条件的总记录数量在一定周期内无需重复查询
- sqltoy的分页取总记录的过程不是简单的select count(1) from (原始sql);而是智能判断是否变成:select count(1) from 'from后语句', 并自动剔除最外层的order by
- sqltoy支持并行查询:parallel="true",同时查询总记录数和单页数据,大幅提升性能
- 便利的跨数据库统计计算:数据旋转
- 便利的跨数据库统计计算:无限极分组统计(含汇总求平均)
- 便利的跨数据库统计计算:同比环比
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- quickly 1.3 版本发布,CSS 前端框架
- WebMagic 0.7.1 版本发布,Java 爬虫框架
- PHP 开发框架 TimoPHP 1.7.0 版本发布
- WebMagic 0.7.0 版本发布,Java 爬虫框架
- WebMagic 0.7.2 版本发布,Java 爬虫框架
- DiQuick Web 前端框架 1.2.3 版本更新
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Designing for Emotion
Aarron Walter / Happy Cog / 2011-10-18 / USD 18.00
Make your users fall in love with your site via the precepts packed into this brief, charming book by MailChimp user experience design lead Aarron Walter. From classic psychology to case studies, high......一起来看看 《Designing for Emotion》 这本书的介绍吧!
