xorm is a relational mapper and object-relational mapping tool for Go. It translates Go structures into SQL queries and maps database rows back into native objects, providing a multi-dialect database driver that supports MySQL, PostgreSQL, SQLite, Oracle, SQL Server, and TiDB.
The project features a read-write splitting manager that routes modification requests to a primary database and read requests to replicas. It includes a database schema synchronizer to automatically align table structures and indexes with application data models, as well as a fluent SQL query builder for constructing complex filtered queries and joins.
The framework covers broad capability areas including high-level and raw CRUD operations, atomic transaction management, and memory-based caching for query results and objects. It also provides data integrity tools such as version-based optimistic locking, lifecycle hooks for custom operation logic, and result set streaming for handling large datasets.
Operational visibility is provided through database operation logging and syslog integration.