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() 获取到参数并直接用于查询
Constructor and Description |
---|
ParaDirective() |
Modifier and Type | Method and Description |
---|---|
void |
exec(Env env,
Scope scope,
Writer writer) |
static void |
setCheckParaAssigned(boolean checkParaAssigned) |
void |
setExprList(ExprList exprList)
指令被解析时注入指令参数表达式列表,继承类可以通过覆盖此方法对参数长度和参数类型进行校验
|
getLocation, hasEnd, setLocation, write
public static void setCheckParaAssigned(boolean checkParaAssigned)
public void setExprList(ExprList exprList)
Directive
setExprList
in class Directive
Copyright © 2018. All rights reserved.