Skip to content

v4.0.43

Compare
Choose a tag to compare
@zhuxiujia zhuxiujia released this 17 Nov 13:23
· 1032 commits to master since this release

v4.0.43

  • support Add and delete interceptors dynamically
pub struct LogicDeletePlugin {}

impl SqlIntercept for LogicDeletePlugin {
    fn do_intercept(
        &self,
        _rb: &Rbatis,
        sql: &mut String,
        _args: &mut Vec<Value>,
        _is_prepared_sql: bool,
    ) -> Result<(), Error> {
        println!("[LogicDeletePlugin] sql=> {}", sql);
        Ok(())
    }
}

#[tokio::main]
pub async fn main() {
 let rb = Rbatis::new();
    rb.init(
        rbdc_sqlite::driver::SqliteDriver {},
        "sqlite://target/sqlite.db",
    )
    .unwrap();

// Add dynamically,don't need mut
 rb.sql_intercepts.push(Box::new(LogicDeletePlugin {}));
}