Open-source Go lightweight ORM, zero dependencies, zero-intrusive distributed transactions, supports mainstream databases

1. Project Overview
A lightweight Go ORM with zero dependencies, zero intrusion, and distributed transactions, supporting Dameng (DM), Kingbase (KB), Shentong (ST), Nantong (NT), TDengine, MySQL, PostgreSQL, Oracle, MSSQL, SQLite, DB2, ClickHouse databases
2. Open Source License
Licensed under Apache-2.0
3. Screenshots

4. Feature Overview
- Written in native SQL statements, it is the simplified and optimized version of SpringRain
- Code Generator
- Code is simplified, with a main body of 2500 lines, and 4000 lines of zero-dependency code, with detailed comments for easy customization and modification
- Supports transaction propagation, which is the main reason for the birth of ZORM
- Supports Dameng (DM), Kingbase (KB), Shentong (ST), Nantong (NT), TDengine, MySQL, PostgreSQL, Oracle, MSSQL, SQLite, DB2, ClickHouse databases
- Supports multiple databases and read-write separation
- Update performance of ZORM, GORM, XORM is equivalent. Reading performance of ZORM is 50% faster than GORM, XORM
- Does not support composite primary keys, and considers no primary key, with business control implementation (difficult to choose)
- Supports seata, hptx, dbpack distributed transactions, supports global transaction management, does not modify business code, zero-intrusive distributed transactions
- Supports clickhouse, update, delete statements use SQL92 standard syntax. clickhouse-go official driver does not support batch insert syntax, it is recommended to use: mailru/go-clickhouse
5. Tech Stack
Go lightweight ORM (approximately 2500 lines of code), zero dependencies, zero-intrusive distributed transactions, supports transaction propagation
Dadameng (dm), Jinzang (kingbase), Shentong, Nantong (gbase), TDengine, mysql, postgresql, oracle, mssql, sqlite, db2, clickhouse...
Performance testing
The zorm 1.2.x version has implemented the basic functions, and the read performance is twice as fast as gorm and xorm. With the continuous increase of functions, the performance has decreased, and the current read performance is only 50% faster.
zorm will continue to optimize and improve performance.