Struct rbatis::executor::RBatisConnExecutor
source · [−]pub struct RBatisConnExecutor<'a> {
pub conn: DBPoolConn<'a>,
pub rb: &'a Rbatis,
}
Fields
conn: DBPoolConn<'a>
rb: &'a Rbatis
Implementations
sourceimpl<'b> RBatisConnExecutor<'b>
impl<'b> RBatisConnExecutor<'b>
pub fn as_executor<'a>(&'a mut self) -> RbatisExecutor<'a, 'b>
sourceimpl<'a> RBatisConnExecutor<'a>
impl<'a> RBatisConnExecutor<'a>
pub async fn begin(self) -> Result<RBatisTxExecutor<'a>>
Trait Implementations
sourceimpl CRUDMut for RBatisConnExecutor<'_>
impl CRUDMut for RBatisConnExecutor<'_>
sourcefn save_by_wrapper<'life0, 'life1, 'life2, 'async_trait, T, R>(
&'life0 mut self,
table: &'life1 T,
w: Wrapper,
skips: &'life2 [Skip<'_>]
) -> Pin<Box<dyn Future<Output = Result<R>> + Send + 'async_trait>> where
T: CRUDTable,
R: DeserializeOwned,
T: 'async_trait,
R: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
fn save_by_wrapper<'life0, 'life1, 'life2, 'async_trait, T, R>(
&'life0 mut self,
table: &'life1 T,
w: Wrapper,
skips: &'life2 [Skip<'_>]
) -> Pin<Box<dyn Future<Output = Result<R>> + Send + 'async_trait>> where
T: CRUDTable,
R: DeserializeOwned,
T: 'async_trait,
R: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
save by wrapper, use fetch.
sourcefn save<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 mut self,
table: &'life1 T,
skips: &'life2 [Skip<'_>]
) -> Pin<Box<dyn Future<Output = Result<DBExecResult>> + Send + 'async_trait>> where
T: CRUDTable,
T: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
fn save<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 mut self,
table: &'life1 T,
skips: &'life2 [Skip<'_>]
) -> Pin<Box<dyn Future<Output = Result<DBExecResult>> + Send + 'async_trait>> where
T: CRUDTable,
T: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
save one entity to database
sourcefn save_batch<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 mut self,
tables: &'life1 [T],
skips: &'life2 [Skip<'_>]
) -> Pin<Box<dyn Future<Output = Result<DBExecResult>> + Send + 'async_trait>> where
T: CRUDTable,
T: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
fn save_batch<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 mut self,
tables: &'life1 [T],
skips: &'life2 [Skip<'_>]
) -> Pin<Box<dyn Future<Output = Result<DBExecResult>> + Send + 'async_trait>> where
T: CRUDTable,
T: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
save batch makes many value into only one sql. make sure your data do not too long! Read more
sourcefn save_batch_slice<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 mut self,
tables: &'life1 [T],
slice_len: usize,
skips: &'life2 [Skip<'_>]
) -> Pin<Box<dyn Future<Output = Result<DBExecResult>> + Send + 'async_trait>> where
T: CRUDTable,
T: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
fn save_batch_slice<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 mut self,
tables: &'life1 [T],
slice_len: usize,
skips: &'life2 [Skip<'_>]
) -> Pin<Box<dyn Future<Output = Result<DBExecResult>> + Send + 'async_trait>> where
T: CRUDTable,
T: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
save batch slice makes many value into many sql. make sure your slice_len do not too long! slice_len = 0 : save all data slice_len != 0 : save data with slice_len everytime until save all data Read more
sourcefn remove_by_wrapper<'life0, 'async_trait, T>(
&'life0 mut self,
w: Wrapper
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>> where
T: CRUDTable,
T: 'async_trait,
'life0: 'async_trait,
Self: Send + 'async_trait,
fn remove_by_wrapper<'life0, 'async_trait, T>(
&'life0 mut self,
w: Wrapper
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>> where
T: CRUDTable,
T: 'async_trait,
'life0: 'async_trait,
Self: Send + 'async_trait,
remove database record by a wrapper
sourcefn remove_by_column<'life0, 'life1, 'async_trait, T, P>(
&'life0 mut self,
column: &'life1 str,
value: P
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>> where
T: CRUDTable,
P: Serialize + Send + Sync,
T: 'async_trait,
P: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Self: Send + 'async_trait,
fn remove_by_column<'life0, 'life1, 'async_trait, T, P>(
&'life0 mut self,
column: &'life1 str,
value: P
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>> where
T: CRUDTable,
P: Serialize + Send + Sync,
T: 'async_trait,
P: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Self: Send + 'async_trait,
remove database record by id
sourcefn remove_batch_by_column<'life0, 'life1, 'life2, 'async_trait, T, P>(
&'life0 mut self,
column: &'life1 str,
values: &'life2 [P]
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>> where
T: CRUDTable,
P: Serialize + Send + Sync,
T: 'async_trait,
P: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
fn remove_batch_by_column<'life0, 'life1, 'life2, 'async_trait, T, P>(
&'life0 mut self,
column: &'life1 str,
values: &'life2 [P]
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>> where
T: CRUDTable,
P: Serialize + Send + Sync,
T: 'async_trait,
P: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
remove batch id
for Example :
rb.remove_batch_by_column::
sourcefn update_by_wrapper<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 mut self,
table: &'life1 T,
w: Wrapper,
skips: &'life2 [Skip<'_>]
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>> where
T: CRUDTable,
T: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
fn update_by_wrapper<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 mut self,
table: &'life1 T,
w: Wrapper,
skips: &'life2 [Skip<'_>]
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>> where
T: CRUDTable,
T: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
update_by_wrapper skips: use &[Skip::Value(&rbson::Bson::Null), Skip::Column(“id”), Skip::Column(column)] will skip id column and null value param Read more
sourcefn update_by_column<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 mut self,
column: &'life1 str,
table: &'life2 T
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>> where
T: CRUDTable,
T: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
fn update_by_column<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 mut self,
column: &'life1 str,
table: &'life2 T
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>> where
T: CRUDTable,
T: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
update database record by id update sql will be skip null value and id column Read more
sourcefn update_batch_by_column<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 mut self,
column: &'life1 str,
args: &'life2 [T]
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>> where
T: CRUDTable,
T: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
fn update_batch_by_column<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 mut self,
column: &'life1 str,
args: &'life2 [T]
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>> where
T: CRUDTable,
T: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
remove batch database record by args
sourcefn fetch_by_wrapper<'life0, 'async_trait, T>(
&'life0 mut self,
w: Wrapper
) -> Pin<Box<dyn Future<Output = Result<T>> + Send + 'async_trait>> where
T: CRUDTable + DeserializeOwned,
T: 'async_trait,
'life0: 'async_trait,
Self: Send + 'async_trait,
fn fetch_by_wrapper<'life0, 'async_trait, T>(
&'life0 mut self,
w: Wrapper
) -> Pin<Box<dyn Future<Output = Result<T>> + Send + 'async_trait>> where
T: CRUDTable + DeserializeOwned,
T: 'async_trait,
'life0: 'async_trait,
Self: Send + 'async_trait,
fetch database record by a wrapper
sourcefn fetch_count<'life0, 'async_trait, T>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>> where
T: CRUDTable,
T: 'async_trait,
'life0: 'async_trait,
Self: Send + 'async_trait,
fn fetch_count<'life0, 'async_trait, T>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>> where
T: CRUDTable,
T: 'async_trait,
'life0: 'async_trait,
Self: Send + 'async_trait,
count database record
sourcefn fetch_count_by_wrapper<'life0, 'async_trait, T>(
&'life0 mut self,
w: Wrapper
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>> where
T: CRUDTable,
T: 'async_trait,
'life0: 'async_trait,
Self: Send + 'async_trait,
fn fetch_count_by_wrapper<'life0, 'async_trait, T>(
&'life0 mut self,
w: Wrapper
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>> where
T: CRUDTable,
T: 'async_trait,
'life0: 'async_trait,
Self: Send + 'async_trait,
count database record by a wrapper
sourcefn fetch_by_column<'life0, 'life1, 'async_trait, T, P>(
&'life0 mut self,
column: &'life1 str,
value: P
) -> Pin<Box<dyn Future<Output = Result<T>> + Send + 'async_trait>> where
T: CRUDTable + DeserializeOwned,
P: Serialize + Send + Sync,
T: 'async_trait,
P: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Self: Send + 'async_trait,
fn fetch_by_column<'life0, 'life1, 'async_trait, T, P>(
&'life0 mut self,
column: &'life1 str,
value: P
) -> Pin<Box<dyn Future<Output = Result<T>> + Send + 'async_trait>> where
T: CRUDTable + DeserializeOwned,
P: Serialize + Send + Sync,
T: 'async_trait,
P: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Self: Send + 'async_trait,
fetch database record by value
sourcefn fetch_list_by_wrapper<'life0, 'async_trait, T>(
&'life0 mut self,
w: Wrapper
) -> Pin<Box<dyn Future<Output = Result<Vec<T>>> + Send + 'async_trait>> where
T: CRUDTable + DeserializeOwned,
T: 'async_trait,
'life0: 'async_trait,
Self: Send + 'async_trait,
fn fetch_list_by_wrapper<'life0, 'async_trait, T>(
&'life0 mut self,
w: Wrapper
) -> Pin<Box<dyn Future<Output = Result<Vec<T>>> + Send + 'async_trait>> where
T: CRUDTable + DeserializeOwned,
T: 'async_trait,
'life0: 'async_trait,
Self: Send + 'async_trait,
fetch database record list by a wrapper
sourcefn fetch_list<'life0, 'async_trait, T>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<Vec<T>>> + Send + 'async_trait>> where
T: CRUDTable + DeserializeOwned,
T: 'async_trait,
'life0: 'async_trait,
Self: Send + 'async_trait,
fn fetch_list<'life0, 'async_trait, T>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<Vec<T>>> + Send + 'async_trait>> where
T: CRUDTable + DeserializeOwned,
T: 'async_trait,
'life0: 'async_trait,
Self: Send + 'async_trait,
fetch database record list for all
sourcefn fetch_list_by_column<'life0, 'life1, 'life2, 'async_trait, T, P>(
&'life0 mut self,
column: &'life1 str,
column_values: &'life2 [P]
) -> Pin<Box<dyn Future<Output = Result<Vec<T>>> + Send + 'async_trait>> where
T: CRUDTable + DeserializeOwned,
P: Serialize + Send + Sync,
T: 'async_trait,
P: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
fn fetch_list_by_column<'life0, 'life1, 'life2, 'async_trait, T, P>(
&'life0 mut self,
column: &'life1 str,
column_values: &'life2 [P]
) -> Pin<Box<dyn Future<Output = Result<Vec<T>>> + Send + 'async_trait>> where
T: CRUDTable + DeserializeOwned,
P: Serialize + Send + Sync,
T: 'async_trait,
P: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
fetch database record list by a id array
sourcefn fetch_page_by_wrapper<'life0, 'life1, 'async_trait, T>(
&'life0 mut self,
w: Wrapper,
page: &'life1 dyn IPageRequest
) -> Pin<Box<dyn Future<Output = Result<Page<T>>> + Send + 'async_trait>> where
T: CRUDTable + DeserializeOwned,
T: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Self: Send + 'async_trait,
fn fetch_page_by_wrapper<'life0, 'life1, 'async_trait, T>(
&'life0 mut self,
w: Wrapper,
page: &'life1 dyn IPageRequest
) -> Pin<Box<dyn Future<Output = Result<Page<T>>> + Send + 'async_trait>> where
T: CRUDTable + DeserializeOwned,
T: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Self: Send + 'async_trait,
fetch page database record list by a wrapper
sourcefn fetch_page<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 mut self,
sql: &'life1 str,
args: Vec<Bson>,
page_request: &'life2 dyn IPageRequest
) -> Pin<Box<dyn Future<Output = Result<Page<T>>> + Send + 'async_trait>> where
T: DeserializeOwned + Serialize + Send + Sync,
T: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
fn fetch_page<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 mut self,
sql: &'life1 str,
args: Vec<Bson>,
page_request: &'life2 dyn IPageRequest
) -> Pin<Box<dyn Future<Output = Result<Page<T>>> + Send + 'async_trait>> where
T: DeserializeOwned + Serialize + Send + Sync,
T: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
fetch page result(prepare sql)
sourceimpl<'a> Debug for RBatisConnExecutor<'a>
impl<'a> Debug for RBatisConnExecutor<'a>
sourceimpl<'impl0, 'a> ExecutorMut for RBatisConnExecutor<'impl0>
impl<'impl0, 'a> ExecutorMut for RBatisConnExecutor<'impl0>
fn exec<'life0, 'life1, 'async_trait>(
&'life0 mut self,
sql: &'life1 str,
args: Vec<Bson>
) -> Pin<Box<dyn Future<Output = Result<DBExecResult, Error>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn fetch<'life0, 'life1, 'async_trait, T>(
&'life0 mut self,
sql: &'life1 str,
args: Vec<Bson>
) -> Pin<Box<dyn Future<Output = Result<T, Error>> + Send + 'async_trait>> where
T: DeserializeOwned,
T: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
sourceimpl<'r, 'inner> From<&'r mut RBatisConnExecutor<'inner>> for RbatisExecutor<'r, 'inner>
impl<'r, 'inner> From<&'r mut RBatisConnExecutor<'inner>> for RbatisExecutor<'r, 'inner>
sourcefn from(arg: &'r mut RBatisConnExecutor<'inner>) -> Self
fn from(arg: &'r mut RBatisConnExecutor<'inner>) -> Self
Converts to this type from the input type.
sourceimpl RbatisRef for RBatisConnExecutor<'_>
impl RbatisRef for RBatisConnExecutor<'_>
fn get_rbatis(&self) -> &Rbatis
fn driver_type(&self) -> Result<DriverType>
Auto Trait Implementations
impl<'a> !RefUnwindSafe for RBatisConnExecutor<'a>
impl<'a> Send for RBatisConnExecutor<'a>
impl<'a> !Sync for RBatisConnExecutor<'a>
impl<'a> Unpin for RBatisConnExecutor<'a>
impl<'a> !UnwindSafe for RBatisConnExecutor<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more