@Override
  public void addMapperAnnotations(Interface interfaze, Method method) {
    interfaze.addImportedType(
        new FullyQualifiedJavaType("org.apache.ibatis.annotations.Delete")); // $NON-NLS-1$

    method.addAnnotation("@Delete({"); // $NON-NLS-1$

    StringBuilder sb = new StringBuilder();
    javaIndent(sb, 1);
    sb.append("\"delete from "); // $NON-NLS-1$
    sb.append(escapeStringForJava(introspectedTable.getFullyQualifiedTableNameAtRuntime()));
    sb.append("\","); // $NON-NLS-1$
    method.addAnnotation(sb.toString());

    boolean and = false;
    Iterator<IntrospectedColumn> iter = introspectedTable.getPrimaryKeyColumns().iterator();
    while (iter.hasNext()) {
      IntrospectedColumn introspectedColumn = iter.next();
      sb.setLength(0);
      javaIndent(sb, 1);
      if (and) {
        sb.append("  \"and "); // $NON-NLS-1$
      } else {
        sb.append("\"where "); // $NON-NLS-1$
        and = true;
      }

      sb.append(escapeStringForJava(getEscapedColumnName(introspectedColumn)));
      sb.append(" = "); // $NON-NLS-1$
      sb.append(getParameterClause(introspectedColumn));
      sb.append('\"');
      if (iter.hasNext()) {
        sb.append(',');
      }

      method.addAnnotation(sb.toString());
    }

    method.addAnnotation("})"); // $NON-NLS-1$
  }
  @Override
  public void addMapperAnnotations(Interface interfaze, Method method) {
    FullyQualifiedJavaType fqjt =
        new FullyQualifiedJavaType(introspectedTable.getMyBatis3SqlProviderType());
    interfaze.addImportedType(
        new FullyQualifiedJavaType("org.apache.ibatis.annotations.DeleteProvider")); // $NON-NLS-1$
    StringBuilder sb = new StringBuilder();
    sb.append("@DeleteProvider(type="); // $NON-NLS-1$
    sb.append(fqjt.getShortName());
    sb.append(".class, method=\""); // $NON-NLS-1$
    sb.append(introspectedTable.getDeleteByExampleStatementId());
    sb.append("\")"); // $NON-NLS-1$

    method.addAnnotation(sb.toString());
  }