Expand description
SZ-ORM sqlx adapter
Provides Connection and ConnectionFactory implementations for sz-orm-core, supporting MySQL, PostgreSQL, and SQLite.
Does not use sqlx::Any; instead implements each backend separately to avoid type limitations and lifetime issues.
§Examples
use sz_orm_core::{Pool, PoolConfigBuilder};
use sz_orm_sqlx::{SqlitePoolHandle, SqlxSqliteConnectionFactory};
use std::sync::Arc;
let pool_handle = SqlitePoolHandle::connect("sqlite::memory:").await?;
let factory = Arc::new(SqlxSqliteConnectionFactory::new(Arc::new(pool_handle)));
let config = PoolConfigBuilder::new().max_size(10).build()?;
let pool = Pool::new(config, factory)?;
let mut conn = pool.acquire().await?;
let rows = conn.query("SELECT 1 as one").await?;
assert_eq!(rows.len(), 1);Re-exports§
pub use any_driver::AnyBackend;pub use any_driver::AnyConnection;pub use any_driver::AnyPool;pub use enhanced::CacheStats;pub use enhanced::EnhancedPoolConfig;pub use enhanced::EnhancedPoolConfigBuilder;pub use enhanced::PreparedStatementCache;pub use enhanced::TransactionIsolation;pub use unified_pool::UnifiedPool;pub use sz_orm_core;
Modules§
- any_
driver - Any driver — 一套代码多 DB 后端透明切换(SQLx 风格)
- enhanced
- 增强功能模块:事务隔离级别、连接池配置增强、预备语句缓存
- unified_
pool - UnifiedPool — 统一连接池抽象(v2.2.0 A-3)
Structs§
- MySql
Pool Handle - PgPool
Handle - Sqlite
Pool Handle - Sqlx
MySql Connection - Sqlx
MySql Connection Factory - Sqlx
PgConnection - Sqlx
PgConnection Factory - Sqlx
Sqlite Connection - Sqlx
Sqlite Connection Factory
Traits§
- PgExtensions
- PostgreSQL 扩展功能 trait
Functions§
- map_
sqlx_ error - 将 sqlx::Error 转换为 DbError
- mysql_
bulk_ insert - MySQL 批量导入(多行 INSERT,作为 LOAD DATA LOCAL INFILE 的安全替代)
- pg_
bulk_ insert - PostgreSQL 批量导入(多行 INSERT,作为 COPY 协议的简化替代)
- sqlite_
backup - SQLite 在线备份(使用 VACUUM INTO,要求 SQLite 3.27+)