public class ParaDirective extends Directive
一、参数为表达式的用法
1:模板内容
#sql("find")
select * from user where nickName = #para(nickName) and age > #para(age)
#end
2: java 代码
SqlPara sp = getSqlPara("find", Kv.by("nickName", "prettyGirl").set("age", 18));
user.find(sp)
或者:
user.find(sp.getSql(), sp.getPara());
3:以上用法会在 #para(expr) 处生成问号占位字符,并且实际的参数放入 SqlPara 对象的参数列表中
后续可以通过 sqlPara.getPara() 获取到参数并直接用于查询
二、参数为 int 型数字的用法
1:模板内容
#sql("find")
select * from user where id > #para(0) and id < #para(1)
#end
2: java 代码
SqlPara sp = getSqlPara("find", 10, 100);
user.find(sp)
3:以上用法会在 #para(0) 与 #para(1) 处生成问号占位字符,并且将 10、100 这两个参数放入
SqlPara 对象的参数列表中,后续可以通过 sqlPara.getPara() 获取到参数并直接用于查询
| 构造器和说明 |
|---|
ParaDirective() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
exec(Env env,
Scope scope,
Writer writer) |
static void |
setCheckParaAssigned(boolean checkParaAssigned) |
void |
setExprList(ExprList exprList)
指令被解析时注入指令参数表达式列表,继承类可以通过覆盖此方法对参数长度和参数类型进行校验
|
getLocation, hasEnd, setLocation, writepublic static void setCheckParaAssigned(boolean checkParaAssigned)
public void setExprList(ExprList exprList)
DirectivesetExprList 在类中 DirectiveCopyright © 2022. All rights reserved.