Macro rbatis::crud

source ·
macro_rules! crud {
    ($table:ty{}) => { ... };
    ($table:ty{},$table_name:expr) => { ... };
}
Expand description

PySql: gen select*,update*,insert*,delete* … methods

 use rbatis::{crud, Error, RBatis};

 #[derive(serde::Serialize, serde::Deserialize)]
 pub struct MockTable{ pub id: Option<String> }
 //crud!(MockTable{},"mock_table");
 crud!(MockTable{});

 //use
 async fn test_use(rb:&RBatis) -> Result<(),Error>{
  let table = MockTable{id: Some("1".to_string())};
  let r = MockTable::insert(rb, &table).await;
  let r = MockTable::insert_batch(rb, std::slice::from_ref(&table),10).await;

  let tables = MockTable::select_by_column(rb,"id","1").await;
  let tables = MockTable::select_all(rb).await;
  let tables = MockTable::select_in_column(rb,"id", &vec!["1","2","3"]).await;

  let r = MockTable::update_by_column(rb, &table,"id").await;

  let r = MockTable::delete_by_column(rb, "id","1").await;
  //... and more
  Ok(())
 }