Macro rbatis::htmlsql

source ·
macro_rules! htmlsql {
    ($fn_name:ident($($param_key:ident:$param_type:ty$(,)?)*) -> $return_type:ty => $html_file:expr) => { ... };
}
Expand description

use macro wrapper #[html_sql] for example query rbs::Value:

use rbatis::executor::Executor;
rbatis::htmlsql!(test_select_column(rb: &dyn Executor, id: &u64)  -> Result<rbs::Value, rbatis::Error> => r#"
            <mapper>
            <select id="test_same_id">
              `select ${id} from my_table`
            </select>
            </mapper>"#);

exec (from file)

use rbatis::executor::Executor;
use rbdc::db::ExecResult;
rbatis::htmlsql!(update_by_id(rb: &dyn Executor, id: &u64)  -> Result<ExecResult, rbatis::Error> => "example/example.html");

query

use rbatis::executor::Executor;
#[derive(serde::Serialize, serde::Deserialize)]
pub struct MyTable{
     pub id:Option<u64>,
     pub name:Option<String>,
}
rbatis::htmlsql!(test_select_table(rb: &dyn Executor, id: &u64)  -> Result<Vec<MyTable>, rbatis::Error> => r#"
            <mapper>
              <select id="test_same_id">
                `select * from my_table`
              </select>
            </mapper>"#);