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

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
go-xorm avatar

go-xorm/xormArchived

0
View on GitHub↗
6,628 stele·742 fork-uri·Go·BSD-3-Clause·9 vizualizări

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.

Istoric stele

Graficul istoricului de stele pentru go-xorm/xormGraficul istoricului de stele pentru go-xorm/xorm

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Xorm

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Xorm.
  • dotnetcore/freesqlAvatar dotnetcore

    dotnetcore/FreeSql

    4,388Vezi pe GitHub↗

    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
    Vezi pe GitHub↗4,388
  • uptrace/bunAvatar uptrace

    uptrace/bun

    4,867Vezi pe GitHub↗

    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
    Vezi pe GitHub↗4,867
  • gaarason/database-allAvatar gaarason

    gaarason/database-all

    1,033Vezi pe GitHub↗

    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
    Vezi pe GitHub↗1,033
  • guolindev/litepalAvatar guolindev

    guolindev/LitePal

    8,068Vezi pe GitHub↗

    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
    Vezi pe GitHub↗8,068
Vezi toate cele 30 alternative pentru Xorm→

Întrebări frecvente

Ce face 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.

Care sunt principalele funcționalități ale go-xorm/xorm?

Principalele funcționalități ale go-xorm/xorm sunt: CRUD Operations, Object-Relational Mapping, Relational Database Integrations, Automatic Table Synchronizers, Column Mappings, MySQL Connectors, Oracle Connectors, Database Dialects.

Care sunt câteva alternative open-source pentru go-xorm/xorm?

Alternativele open-source pentru go-xorm/xorm includ: 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…