A new generation of domestic ORM framework, sagacity-sqltoy-5.2.72 released

Open source address:

Update content

1. Optimize H2 database saveOrUpdate scenario, compatibility with undefined string length scenarios
2. Enhance Boolean type mapping database string type, int type adaptation
3. updateSaveFetch reverses the original entity object during update operation, and no longer creates new objects Return
4. UpdateByQuery adds skipNotExistColunn parameter to automatically filter out non-compliant attributes.

Key advantages of 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或结果的二次处理工作
//-----------------------------------------------------------------------------------*/

Introduction to sqltoy features:

  • The core construction ideas of sqltoy

  • The core points of comparing sqltoy with mybatis (plus): query statement writing, readability, and maintainability

  • Objectized crud is the basis, but sqltoy has targeted improvements: update, updateSaveFetch, updateFetch, etc.

  • sqltoy's cache translation greatly reduces table associations and simplifies SQL, allowing your query performance to increase geometrically.

Explain why sqltoy kills mybatis(plus) instantly

  • Ultimate paging also helps you achieve significant improvement in query performance
  1. Fast paging: @fast () realizes fetching single page data first and then performing related queries, which greatly improves the speed.
  2. Paging optimizer: page-optimize changes paging queries from two times to 1.3~1.5 times (the total number of records using the cache to achieve the same query conditions does not need to be repeated within a certain period)
  3. The process of sqltoy's paging to get the total records is not a simple select count (1) from (original sql); instead, it intelligently determines whether it becomes: select count (1) from 'from post-statement', and automatically eliminates the outermost order by
  4. sqltoy supports parallel query: parallel="true", querying the total number of records and single page data at the same time, greatly improving performance
Explain why sqltoy kills mybatis(plus) instantly
 
  • Convenient cross-database statistical calculations: data rotation
Explain why sqltoy kills mybatis(plus) instantly
  • Convenient cross-database statistical calculation: Infinitus group statistics (including summary and averaging)
Explain why sqltoy kills mybatis(plus) instantly
  • Convenient cross-database statistical calculations: year-on-year and month-on-month
Explain why sqltoy kills mybatis(plus) instantly
5. Tree table sorting and summary

6. Extended integration

Guess you like

Origin www.oschina.net/news/262249/sagacity-sqltoy-5-2-72-released