XQL 体系

XQL 是 Rabbit SQL 的核心能力,用于在不破坏原生 SQL 的前提下,让 SQL 具备动态化和工程化能力。

一个典型 XQL

#check 写的是需要拒绝的条件,条件为 true 时抛出指定异常。下面的例子会拒绝空值及小于等于 0 的 id,正数则继续执行。

/*[queryUsers]*/
/*#查询用户#*/
-- #check :id == null || :id <= 0 throw 'id 必须大于 0'
select * from test.user
where
-- #if :name
  name = :name
-- #fi
;

使用:

baki.query("&example.queryUsers")
    .arg("id", 1)
    .arg("name", "cyx")
    .rows();