pub fn render_condition(
template: &str,
params: &HashMap<String, Value>,
) -> Option<String>Expand description
渲染 WHERE 子句模板,将 :param_name 替换为实际值
:param_name→ 替换为参数值的 SQL 字面量- 未知参数 → 返回 None(表示渲染失败)
§安全性
本函数使用 PostgreSQL 方言的转义规则(' → '')作为默认行为。
对 PostgreSQL/SQLite/Oracle/SQL Server 默认配置安全,
但对 MySQL 默认配置(backslash 是转义字符)不安全。
生产环境请使用 render_condition_with_dialect 以获得方言感知的转义。
§示例
use sz_orm_query::dynamic_filter::render_condition;
use sz_orm_model::Value;
use std::collections::HashMap;
let mut params = HashMap::new();
params.insert("status".to_string(), Value::String("active".to_string()));
params.insert("min_age".to_string(), Value::I64(18));
let rendered = render_condition("status = :status AND age >= :min_age", ¶ms);
assert_eq!(rendered.unwrap(), "status = 'active' AND age >= 18");