code: protected XmlElement buildSqlClause(IntrospectedTable introspectedTable) {
  
      XmlElement sql = new XmlElement("sql");
      sql.addAttribute(new Attribute("id", IDENTIFIERS_ARRAY_CONDITIONS));
  
      XmlElement foreach = new XmlElement("foreach");
      foreach.addAttribute(new Attribute("collection", "array"));
      foreach.addAttribute(new Attribute("item", "item"));
      foreach.addAttribute(new Attribute("index", "index"));
      foreach.addAttribute(new Attribute("separator", " and "));
  
      StringBuilder sb = new StringBuilder();
      for (IntrospectedColumn introspectedColumn : introspectedTable.getAllColumns()) {
        XmlElement isEqualElement = new XmlElement("if");
        sb.setLength(0);
        sb.append("item == \'");
        sb.append(introspectedColumn.getJavaProperty());
        sb.append("\'");
        isEqualElement.addAttribute(new Attribute("test", sb.toString()));
        foreach.addElement(isEqualElement);
  
        sb.setLength(0);
        sb.append(MyBatis3FormattingUtilities.getAliasedEscapedColumnName(introspectedColumn));
        sb.append(" = ");
        sb.append(MyBatis3FormattingUtilities.getParameterClause(introspectedColumn, PROPERTY_PREFIX));
  
        isEqualElement.addElement(new TextElement(sb.toString()));
      }
  
      sql.addElement(foreach);
      return sql;
    }
docs: 创建根据传入的Array数组进行判断的sql语句
  
  @param introspectedTable The metadata for database table
  @return generated xml element for check input array params