IfNodeHandler是用来处理IF标签,封装到IfSqlNode对象中
public class IfNodeHandler implements NodeHandler {
@Override
public void handleNode(Element nodeToHandle, List<SqlNode> contents) {
// 解析test中表达式
String test = nodeToHandle.attributeValue("test");
// 解析if标签(其实也就是解析子标签)
MixedSqlNode rootSqlNode = parseDynamicTags(nodeToHandle);
//将解析到的内容封装成一个SqlNode(只是这个SqlNode还包含子SqlNode)
IfSqlNode ifSqlNode = new IfSqlNode(test, rootSqlNode);
contents.add(ifSqlNode);
}
}