新一代國產 ORM 框架 sagacity-sqltoy-5.1.23 發版

2022-01-05 17:00:16

開源地址:

更新內容

1、增加deleteByIds快捷刪除方法
2、修復deleteByQuery中的ParamsFilter使其生效
3、優化快取翻譯cache-indexs設定錯誤引起的陣列越界提示,提供完整的錯誤提示

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特點介紹:

  • sqltoy的核心構建思想

  • sqltoy的對比mybatis(plus)和fluent mybatis的核心點:查詢語句編寫、可閱讀性、可維護性

  • 物件化crud是基礎,但sqltoy有針對性的改進:update、updateSaveFetch、updateFetch等

  • sqltoy的快取翻譯,大幅減少表關聯簡化sql,讓你的查詢效能成幾何級提升

闡述sqltoy為什麼秒殺mybatis(plus)

  • 極致的分頁,同樣幫助你實現查詢的效能大幅提升
  1. 快速分頁:@fast() 實現先取單頁資料然後再關聯查詢,極大提升速度
  2. 分頁優化器:page-optimize 讓分頁查詢由兩次變成1.3~1.5次(用快取實現相同查詢條件的總記錄數量在一定週期內無需重複查詢
  3. sqltoy的分頁取總記錄的過程不是簡單的select count(1) from (原始sql);而是智慧判斷是否變成:select count(1) from 'from後語句', 並自動剔除最外層的order by
  4. sqltoy支援並行查詢:parallel="true",同時查詢總記錄數和單頁資料,大幅提升效能
闡述sqltoy為什麼秒殺mybatis(plus)
 
  • 便利的跨資料庫統計計算:資料旋轉
闡述sqltoy為什麼秒殺mybatis(plus)
  • 便利的跨資料庫統計計算:無限極分組統計(含彙總求平均)
闡述sqltoy為什麼秒殺mybatis(plus)
  • 便利的跨資料庫統計計算:同比環比
闡述sqltoy為什麼秒殺mybatis(plus)

 

展開閱讀全文