awesome-repositories.com
Blog
MCP
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
go-xorm avatar

go-xorm/xormArchived

0
View on GitHub↗
6,628 Stars·742 Forks·Go·BSD-3-Clause·9 Aufrufe

Xorm

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.

Features

  • CRUD Operations - Provides a high-level interface for performing standard create, read, update, and delete operations.
  • Object-Relational Mapping - Provides a core mapping layer that converts relational database rows into native Go structures.
  • Relational Database Integrations - Integrates Go applications with multiple relational databases including MySQL, PostgreSQL, SQLite, Oracle, and SQL Server.
  • Automatic Table Synchronizers - Aligns database table structures and indexes with application data models automatically.
  • Column Mappings - Defines column properties and constraints using structural tags on Go data objects.
  • MySQL Connectors - Implements a specialized driver for translating object queries into MySQL-compatible SQL syntax.
  • Oracle Connectors - Provides a specialized driver to execute compatible queries for Oracle relational databases.
  • Database Dialects - Provides a multi-dialect driver layer supporting various database engines with specific syntax handling.
  • Database Schema Managers - Automatically synchronizes database table structures and indexes with application data models.
  • Fluent Query Construction - Offers a fluent programmatic interface for constructing complex SQL queries and joins.
  • Fluent Query Builders - Implements a chainable fluent interface for constructing complex database queries.
  • Query Condition Builders - Provides an API for constructing complex SQL WHERE clauses and filtering criteria.
  • Raw SQL Execution - Supports executing custom raw SQL statements alongside high-level object-relational mapping.
  • Read-Write Splitting - Routes database operations to different servers by splitting read requests to replicas and write requests to the primary.
  • Read Load Balancers - Distributes read queries across multiple database replicas using random, round-robin, or weighted policies.
  • Schema Synchronizers - Provides a tool to automatically align database schemas with application data models.
  • Dialect-Specific SQL Generation - Translates abstract query operations into specific SQL syntax for MySQL, PostgreSQL, SQLite, Oracle, and SQL Server.
  • SQL ORMs - Acts as a full-featured relational mapper translating Go structures into SQL queries and vice versa.
  • Fluent Interfaces - Offers a fluent interface for constructing complex SQL statements through method chaining.
  • Table Joining Operations - Combines data from multiple tables using various join types based on related columns.
  • Structure-to-Table Synchronizers - Synchronizes Go application structures with database tables to ensure consistency between code and storage.
  • Reflection-Based Mappings - Uses runtime reflection to map relational database rows to native Go structure fields.
  • Struct Tags - Maps Go structs to database tables using configuration tags embedded in struct definitions.
  • Cursor-Based Iteration - Traverses database records using a cursor to map rows into objects efficiently.
  • Incremental Numeric Updates - Enables atomic increments and decrements of numeric columns directly in the database.
  • Database Connection Managers - Provides utilities for managing persistent database connections and their lifecycles through sessions.
  • Database Lifecycle Hooks - Triggers custom logic before or after database record operations using registered closures.
  • Atomic Transactions - Groups multiple database operations into a single atomic unit to ensure data consistency.
  • Connection Pool Managers - Manages database connection lifecycles and pool settings wrapped within operational sessions.
  • Database Performance Optimizers - Provides performance optimizations including read-write splitting, query caching, and result streaming.
  • Record Counting - Implements utilities to calculate the total number of database records matching specific search criteria.
  • Concurrency Versioning - Prevents conflicting modifications by automatically incrementing a version field during updates.
  • Indexes and Constraints - Includes utilities to create and drop unique constraints and indexes for query performance optimization.
  • Read-Write Splitting - Routes modification requests to a primary database and read requests to replicas.
  • Optimistic Locking - Prevents concurrent update conflicts by tracking version counts on model instances.
  • Result Streaming - Retrieves database rows incrementally via cursors to handle large datasets without memory exhaustion.
  • Hybrid Object-SQL Execution - Combines high-level object mapping operations with raw SQL statements within a single execution flow.
  • Record Deletion - Provides utilities for removing records based on primary keys or filter conditions.
  • Record Insertion - Provides standard interfaces for adding new data records to database tables.
  • Record Updating - Provides methods for modifying existing data rows by mapping object fields to columns.
  • Relation Loading Strategies - Retrieves associated records from linked tables in a single operation through cascade loading.
  • Replica Load Balancers - Includes a manager that distributes read traffic across a pool of database replicas.
  • Schema Management - Provides capabilities to programmatically create, drop, and verify the existence of tables and indexes.
  • Single Record Retrievers - Offers optimized methods for fetching a single record based on provided object fields.
  • Soft Deletion Mechanisms - Implements soft deletion by marking records with a timestamp instead of physical removal.
  • Table Creations - Generates database table structures based on provided data models and specified storage engines.
  • Table Data Retrieval - Provides mechanisms for retrieving multiple records from a table into slices or maps.
  • Column Expression Updates - Allows assigning values to columns using SQL expressions or subqueries during updates.
  • Partial Column Updates - Supports updating only designated columns to prevent accidental overwriting of other fields.
  • Database Record Hooks - Provides interceptors that trigger custom logic automatically before and after database record operations.
  • Database Query Cancellation - Implements database request cancellation and timeout management using Go contexts.
  • Database Query Cancellations - Controls database request lifecycles using contexts to implement timeouts and query cancellation.
  • Database Drivers and ORMs - Simple and powerful ORM for database operations.
  • Database Tools - Versatile ORM supporting multiple relational database systems.
  • ORM and Data Mapping - Simple and powerful ORM.

Star-Verlauf

Star-Verlauf für go-xorm/xormStar-Verlauf für go-xorm/xorm

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Xorm

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Xorm.
  • dotnetcore/freesqlAvatar von dotnetcore

    dotnetcore/FreeSql

    4,388Auf GitHub ansehen↗

    FreeSql is a .NET object-relational mapper and data access layer that translates object-oriented code into SQL for multiple relational database providers. It functions as a fluent SQL query builder and database schema synchronizer, allowing developers to align database table and index structures with entity class definitions. The framework is specifically optimized for .NET Native AOT to ensure reduced memory footprints and faster startup times. It includes a database traffic manager to distribute load through read-write splitting, dynamic table sharding, and tenant-based data isolation. Bro

    C#accessclickhousecodefirst
    Auf GitHub ansehen↗4,388
  • uptrace/bunAvatar von uptrace

    uptrace/bun

    4,867Auf GitHub ansehen↗

    Bun is a type-safe object relational mapper for Go that prioritizes SQL-first query construction and result mapping. It functions as a programmable SQL query builder, a database connection manager, and a tool for mapping database tables to Go structs. The project distinguishes itself through a multi-dialect SQL support system, allowing a single codebase to interact with different database engines via a consistent interface. It includes a built-in database observability tool for query interception, distributed tracing, and logging, as well as a schema migration tool for versioning structural c

    Godatabasegogolang
    Auf GitHub ansehen↗4,867
  • gaarason/database-allAvatar von gaarason

    gaarason/database-all

    1,033Auf GitHub ansehen↗

    This project is a Java-based object-relational mapping framework that utilizes the active record pattern to simplify database interactions. It provides a comprehensive data access layer that binds database tables directly to application objects, enabling developers to perform CRUD operations, manage complex entity relationships, and execute queries through a fluent, type-safe interface. Designed for integration with Spring Boot, the framework abstracts database complexities while maintaining support for native compilation and asynchronous execution. The framework distinguishes itself through

    Javadatabaseeloquenteloquent-orm
    Auf GitHub ansehen↗1,033
  • guolindev/litepalAvatar von guolindev

    guolindev/LitePal

    8,068Auf GitHub ansehen↗

    LitePal is an object-relational mapping library and SQLite database wrapper for Android applications. It replaces raw SQL queries with a fluent interface and object mapping to simplify local data persistence and database management. The project provides a specialized system for automatically synchronizing database schemas based on model definitions to handle version updates. It also includes a storage solution for securing sensitive data through configurable field-level encryption. The library covers broad data storage and synchronization capabilities, including atomic transaction support, m

    Javaandroidlitepalsqlite3
    Auf GitHub ansehen↗8,068
Alle 30 Alternativen zu Xorm anzeigen→

Häufig gestellte Fragen

Was macht go-xorm/xorm?

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.

Was sind die Hauptfunktionen von go-xorm/xorm?

Die Hauptfunktionen von go-xorm/xorm sind: CRUD Operations, Object-Relational Mapping, Relational Database Integrations, Automatic Table Synchronizers, Column Mappings, MySQL Connectors, Oracle Connectors, Database Dialects.

Welche Open-Source-Alternativen gibt es zu go-xorm/xorm?

Open-Source-Alternativen zu go-xorm/xorm sind unter anderem: dotnetcore/freesql — FreeSql is a .NET object-relational mapper and data access layer that translates object-oriented code into SQL for… uptrace/bun — Bun is a type-safe object relational mapper for Go that prioritizes SQL-first query construction and result mapping.… gaarason/database-all — This project is a Java-based object-relational mapping framework that utilizes the active record pattern to simplify… guolindev/litepal — LitePal is an object-relational mapping library and SQLite database wrapper for Android applications. It replaces raw… dotnet/efcore — Entity Framework Core is an object-relational mapper that enables developers to interact with database systems using… fnc12/sqlite_orm — This project is a header-only C++ library that provides an object-relational mapping layer for SQLite databases. It…