IfNodeHandler是用来处理IF标签,封装到IfSqlNode对象中

    1. public class IfNodeHandler implements NodeHandler {
    2. @Override
    3. public void handleNode(Element nodeToHandle, List<SqlNode> contents) {
    4. // 解析test中表达式
    5. String test = nodeToHandle.attributeValue("test");
    6. // 解析if标签(其实也就是解析子标签)
    7. MixedSqlNode rootSqlNode = parseDynamicTags(nodeToHandle);
    8. //将解析到的内容封装成一个SqlNode(只是这个SqlNode还包含子SqlNode)
    9. IfSqlNode ifSqlNode = new IfSqlNode(test, rootSqlNode);
    10. contents.add(ifSqlNode);
    11. }
    12. }