A new generation of domestic ORM framework, sqltoy-orm 5.2.74 is released, and GaussDB completes full production verification!

Open source address:

Update content

1. Fix the defects under the gaussdb sequence primary key strategy.
2. Remove the processing of full-width to half-width conversion of some special symbols in SQL in SqlUtil. The framework does not do too much implicit processing.
3. Pagination optimization adds skip-zero-count="true"( The default is false) parameter, so that when the total records in the cache are 0, you can re-query to obtain the count.
Thanks @Yuchen for the feedback.

s qltoy-orm is a fusion of JPA and super query

JPA part

  • JPA-like objectized CRUD, object cascade loading, new addition, and update
  • Strengthen the update operation and provide elastic field modification capabilities. Different from hibernate loading first and then modifying, the modification is completed in one database interaction, ensuring the accuracy of data in high concurrency scenarios.
  • Improved cascade modification, providing operation options of deleting first or invalidating first, and then overwriting.
  • Added updateFetch and updateSaveFetch functions to strengthen the processing of strong transaction and high concurrency scenarios, similar to inventory ledger and capital ledger, to achieve one database interaction, complete lock query, insert if it does not exist, modify if it exists, and return the modified results.
  • Added tree structure encapsulation to facilitate the unification of recursive queries of tree structure data in different databases
  • Supports sharding of databases and tables, multiple primary key strategies (additional support for business primary keys generated based on specific rules based on redis), encrypted storage, and data version verification
  • Provides public attribute assignment (creator, modifier, creation time, modification time, tenant), extended type processing, etc.
  • Provides multi-tenant unified filtering and assignment, data permission parameter introduction and unauthorized verification.

Query part

  • Extremely intuitive sql writing method facilitates rapid two-way migration from client <--> code, facilitating later changes and maintenance
  • Support cache translation and reverse cache matching key instead of like fuzzy query
  • Provides cross-database support capabilities: automatic conversion and adaptation of functions in different databases, automatic matching of multi-dialect SQL according to the actual environment, and multi-database synchronization testing, greatly improving productization capabilities
  • Provides query functions for special scenarios such as top records and random records.
  • Provides the most powerful paging query mechanism: 1) Automatically optimizes count statements; 2) Provides cache-based paging optimization to avoid executing count queries every time; 3) Provides unique fast paging; 4) Provides parallelism Pagination
  • Provides sub-database and sub-table capabilities
  • Provides extremely valuable in management projects: group summary calculation, row-column conversion (row to column, column to row), year-on-year comparison, tree sorting, tree summary related algorithms natural integration
  • Provides query-based hierarchical data structure encapsulation
  • Provides a large number of auxiliary functions: data desensitization, formatting, conditional parameter preprocessing, etc.

Support multiple databases

  • Conventional mysql, oracle, db2, postgresql, sqlserver, dm, kingbase, sqlite, h2, oceanBase, polardb, guassdb, tidb
  • Support distributed olap database: clickhouse, StarRocks, greenplum, impala (kudu)
  • Support elasticsearch, mongodb
  • All database queries based on sql and jdbc

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/263651/sqltoy-orm-5-2-74-released
Recommended