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 {}));
}