pub struct AnyPool { /* private fields */ }Expand description
后端无关的连接工厂
Implementations§
Source§impl AnyPool
impl AnyPool
Sourcepub async fn connect(dsn: &str) -> Result<Self, DbError>
pub async fn connect(dsn: &str) -> Result<Self, DbError>
连接数据库,根据 DSN 自动识别后端
§错误
- DSN scheme 不识别 →
DbError::ConnectionRefused - 连接失败 →
DbError::ConnectionError - Oracle/MSSQL 后端未启用对应 feature →
DbError::ConnectionRefused含提示
Sourcepub fn from_factory(
backend: AnyBackend,
factory: Arc<dyn ConnectionFactory>,
) -> Self
pub fn from_factory( backend: AnyBackend, factory: Arc<dyn ConnectionFactory>, ) -> Self
从已有的连接工厂构造
Sourcepub fn backend(&self) -> AnyBackend
pub fn backend(&self) -> AnyBackend
获取后端类型
Sourcepub fn dialect(&self) -> Box<dyn Dialect>
pub fn dialect(&self) -> Box<dyn Dialect>
返回对应后端的 Dialect 实例(v2.2.0 新增)
委托 AnyBackend::dialect(),根据后端自动选择方言。
Sourcepub async fn create(&self) -> Result<AnyConnection, DbError>
pub async fn create(&self) -> Result<AnyConnection, DbError>
创建一个新连接
Auto Trait Implementations§
impl !RefUnwindSafe for AnyPool
impl !UnwindSafe for AnyPool
impl Freeze for AnyPool
impl Send for AnyPool
impl Sync for AnyPool
impl Unpin for AnyPool
impl UnsafeUnpin for AnyPool
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more