Package org.mybatis.generator.api

Examples of org.mybatis.generator.api.IntrospectedColumn


    javaIndent(sb, 1);
    sb.append("\"set "); //$NON-NLS-1$

    Iterator<IntrospectedColumn> iter = introspectedTable.getBaseColumns().iterator();
    while (iter.hasNext()) {
      IntrospectedColumn introspectedColumn = iter.next();

      sb.append(escapeStringForJava(getEscapedColumnName(introspectedColumn)));
      sb.append(" = "); //$NON-NLS-1$
      sb.append(getParameterClause(introspectedColumn));

      if (iter.hasNext()) {
        sb.append(',');
      }

      sb.append("\","); //$NON-NLS-1$
      method.addAnnotation(sb.toString());

      // set up for the next column
      if (iter.hasNext()) {
        sb.setLength(0);
        javaIndent(sb, 1);
        sb.append("  \""); //$NON-NLS-1$
      }
    }

    boolean and = false;
    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 {
View Full Code Here


   */
  private void removeIgnoredColumns(TableConfiguration tc, Map<ActualTableName, List<IntrospectedColumn>> columns) {
    for (Map.Entry<ActualTableName, List<IntrospectedColumn>> entry : columns.entrySet()) {
      Iterator<IntrospectedColumn> tableColumns = (entry.getValue()).iterator();
      while (tableColumns.hasNext()) {
        IntrospectedColumn introspectedColumn = tableColumns.next();
        if (tc.isColumnIgnored(introspectedColumn.getActualColumnName())) {
          tableColumns.remove();
          if (logger.isDebugEnabled()) {
            logger.debug(getString("Tracing.3", //$NON-NLS-1$
                introspectedColumn.getActualColumnName(), entry.getKey().toString()));
          }
        }
      }
    }
  }
View Full Code Here

    }

    ResultSet rs = databaseMetaData.getColumns(localCatalog, localSchema, localTableName, null);

    while (rs.next()) {
      IntrospectedColumn introspectedColumn = ObjectFactory.createIntrospectedColumn(context);

      introspectedColumn.setTableAlias(tc.getAlias());
      introspectedColumn.setJdbcType(rs.getInt("DATA_TYPE")); //$NON-NLS-1$
      introspectedColumn.setLength(rs.getInt("COLUMN_SIZE")); //$NON-NLS-1$
      introspectedColumn.setActualColumnName(rs.getString("COLUMN_NAME")); //$NON-NLS-1$
      introspectedColumn.setNullable(rs.getInt("NULLABLE") == DatabaseMetaData.columnNullable); //$NON-NLS-1$
      introspectedColumn.setScale(rs.getInt("DECIMAL_DIGITS")); //$NON-NLS-1$
      String remarks = rs.getString("REMARKS");
      if (remarks == null) {
        String databaseType = context.getJdbcConnectionConfiguration().getDriverClass();
        // 如果是sql server
        if (databaseType.contains("microsoft")) {
          Statement s = connection.createStatement();
          ResultSet rs3 = s.executeQuery(this.getClumnRemark(tc.getTableName(),rs.getString("COLUMN_NAME")));
          while (rs3.next()) {
            remarks = rs3.getString("VALUE");
          }
          closeResultSet(rs3);
        }
      }
      introspectedColumn.setRemarks(remarks); //$NON-NLS-1$
      introspectedColumn.setDefaultValue(rs.getString("COLUMN_DEF")); //$NON-NLS-1$

      ActualTableName atn = new ActualTableName(rs.getString("TABLE_CAT"), //$NON-NLS-1$
          rs.getString("TABLE_SCHEM"), //$NON-NLS-1$
          rs.getString("TABLE_NAME")); //$NON-NLS-1$

      List<IntrospectedColumn> columns = answer.get(atn);
      if (columns == null) {
        columns = new ArrayList<IntrospectedColumn>();
        answer.put(atn, columns);
      }

      columns.add(introspectedColumn);

      if (logger.isDebugEnabled()) {
        logger.debug(getString(
            "Tracing.2", //$NON-NLS-1$
            introspectedColumn.getActualColumnName(), Integer.toString(introspectedColumn.getJdbcType()),
            atn.toString()));
      }
    }

    closeResultSet(rs);
View Full Code Here

    method.addBodyLine(sb.toString());

    boolean first = true;
    Iterator<IntrospectedColumn> iter = introspectedColumns.iterator();
    while (iter.hasNext()) {
      IntrospectedColumn introspectedColumn = iter.next();

      sb.setLength(0);

      if (first) {
        sb.append("return ("); //$NON-NLS-1$
        first = false;
      } else {
        OutputUtilities.javaIndent(sb, 1);
        sb.append("&& ("); //$NON-NLS-1$
      }

      String getterMethod = getGetterMethodName(introspectedColumn.getJavaProperty(),
          introspectedColumn.getFullyQualifiedJavaType());

      if (introspectedColumn.getFullyQualifiedJavaType().isPrimitive()) {
        sb.append("this."); //$NON-NLS-1$
        sb.append(getterMethod);
        sb.append("() == "); //$NON-NLS-1$
        sb.append("other."); //$NON-NLS-1$
        sb.append(getterMethod);
View Full Code Here

    StringBuilder sb = new StringBuilder();
    boolean hasTemp = false;
    Iterator<IntrospectedColumn> iter = introspectedColumns.iterator();
    while (iter.hasNext()) {
      IntrospectedColumn introspectedColumn = iter.next();

      FullyQualifiedJavaType fqjt = introspectedColumn.getFullyQualifiedJavaType();

      String getterMethod = getGetterMethodName(introspectedColumn.getJavaProperty(), fqjt);

      sb.setLength(0);
      if (fqjt.isPrimitive()) {
        if ("boolean".equals(fqjt.getFullyQualifiedName())) { //$NON-NLS-1$
          sb.append("result = prime * result + ("); //$NON-NLS-1$
View Full Code Here

    sb.setLength(0);
    sb.append("set "); //$NON-NLS-1$

    Iterator<IntrospectedColumn> iter = introspectedTable.getNonPrimaryKeyColumns().iterator();
    while (iter.hasNext()) {
      IntrospectedColumn introspectedColumn = iter.next();

      sb.append(MyBatis3FormattingUtilities.getEscapedColumnName(introspectedColumn));
      sb.append(" = "); //$NON-NLS-1$
      sb.append(MyBatis3FormattingUtilities.getParameterClause(introspectedColumn));
View Full Code Here

    context.getCommentGenerator().addComment(answer);

    GeneratedKey gk = introspectedTable.getGeneratedKey();
    if (gk != null) {
      IntrospectedColumn introspectedColumn = introspectedTable.getColumn(gk.getColumn());
      // if the column is null, then it's a configuration error. The
      // warning has already been reported
      if (introspectedColumn != null) {
        if (gk.isJdbcStandard()) {
          answer.addAttribute(new Attribute("useGeneratedKeys", "true")); //$NON-NLS-1$ //$NON-NLS-2$
          answer.addAttribute(new Attribute("keyProperty", introspectedColumn.getJavaProperty())); //$NON-NLS-1$
        } else {
          answer.addElement(getSelectKey(introspectedColumn, gk));
        }
      }
    }

    StringBuilder sb = new StringBuilder();

    sb.append("insert into "); //$NON-NLS-1$
    sb.append(introspectedTable.getFullyQualifiedTableNameAtRuntime());
    answer.addElement(new TextElement(sb.toString()));

    XmlElement insertTrimElement = new XmlElement("trim"); //$NON-NLS-1$
    insertTrimElement.addAttribute(new Attribute("prefix", "(")); //$NON-NLS-1$ //$NON-NLS-2$
    insertTrimElement.addAttribute(new Attribute("suffix", ")")); //$NON-NLS-1$ //$NON-NLS-2$
    insertTrimElement.addAttribute(new Attribute("suffixOverrides", ",")); //$NON-NLS-1$ //$NON-NLS-2$
    answer.addElement(insertTrimElement);

    XmlElement valuesTrimElement = new XmlElement("trim"); //$NON-NLS-1$
    valuesTrimElement.addAttribute(new Attribute("prefix", "values (")); //$NON-NLS-1$ //$NON-NLS-2$
    valuesTrimElement.addAttribute(new Attribute("suffix", ")")); //$NON-NLS-1$ //$NON-NLS-2$
    valuesTrimElement.addAttribute(new Attribute("suffixOverrides", ",")); //$NON-NLS-1$ //$NON-NLS-2$
    answer.addElement(valuesTrimElement);

    for (IntrospectedColumn introspectedColumn : introspectedTable.getAllColumns()) {
      if (introspectedColumn.isIdentity()) {
        // cannot set values on identity fields
        continue;
      }

      if (introspectedColumn.isSequenceColumn() || introspectedColumn.getFullyQualifiedJavaType().isPrimitive()) {
        // if it is a sequence column, it is not optional
        // This is required for MyBatis3 because MyBatis3 parses
        // and calculates the SQL before executing the selectKey

        // if it is primitive, we cannot do a null check
        sb.setLength(0);
        sb.append(MyBatis3FormattingUtilities.getEscapedColumnName(introspectedColumn));
        sb.append(',');
        insertTrimElement.addElement(new TextElement(sb.toString()));

        sb.setLength(0);
        sb.append(MyBatis3FormattingUtilities.getParameterClause(introspectedColumn));
        sb.append(',');
        valuesTrimElement.addElement(new TextElement(sb.toString()));

        continue;
      }

      XmlElement insertNotNullElement = new XmlElement("if"); //$NON-NLS-1$
      sb.setLength(0);
      sb.append(introspectedColumn.getJavaProperty());
      sb.append(" != null"); //$NON-NLS-1$
      insertNotNullElement.addAttribute(new Attribute("test", sb.toString())); //$NON-NLS-1$

      sb.setLength(0);
      sb.append(MyBatis3FormattingUtilities.getEscapedColumnName(introspectedColumn));
      sb.append(',');
      insertNotNullElement.addElement(new TextElement(sb.toString()));
      insertTrimElement.addElement(insertNotNullElement);

      XmlElement valuesNotNullElement = new XmlElement("if"); //$NON-NLS-1$
      sb.setLength(0);
      sb.append(introspectedColumn.getJavaProperty());
      sb.append(" != null"); //$NON-NLS-1$
      valuesNotNullElement.addAttribute(new Attribute("test", sb.toString())); //$NON-NLS-1$

      sb.setLength(0);
      sb.append(MyBatis3FormattingUtilities.getParameterClause(introspectedColumn));
View Full Code Here

    sb.setLength(0);
    sb.append("set "); //$NON-NLS-1$

    Iterator<IntrospectedColumn> iter = introspectedTable.getNonPrimaryKeyColumns().iterator();
    while (iter.hasNext()) {
      IntrospectedColumn introspectedColumn = iter.next();

      sb.append(Ibatis2FormattingUtilities.getEscapedColumnName(introspectedColumn));
      sb.append(" = "); //$NON-NLS-1$
      sb.append(Ibatis2FormattingUtilities.getParameterClause(introspectedColumn));
View Full Code Here

    sb.setLength(0);
    sb.append("set "); //$NON-NLS-1$

    Iterator<IntrospectedColumn> iter = introspectedTable.getNonBLOBColumns().iterator();
    while (iter.hasNext()) {
      IntrospectedColumn introspectedColumn = iter.next();

      sb.append(MyBatis3FormattingUtilities.getAliasedEscapedColumnName(introspectedColumn));
      sb.append(" = "); //$NON-NLS-1$
      sb.append(MyBatis3FormattingUtilities.getParameterClause(introspectedColumn, "record.")); //$NON-NLS-1$
View Full Code Here

    context.getCommentGenerator().addComment(answer);

    GeneratedKey gk = introspectedTable.getGeneratedKey();

    if (gk != null && gk.isPlacedBeforeInsertInIbatis2()) {
      IntrospectedColumn introspectedColumn = introspectedTable.getColumn(gk.getColumn());
      // if the column is null, then it's a configuration error. The
      // warning has already been reported
      if (introspectedColumn != null) {
        // pre-generated key
        answer.addElement(getSelectKey(introspectedColumn, gk));
      }
    }

    StringBuilder sb = new StringBuilder();

    sb.append("insert into "); //$NON-NLS-1$
    sb.append(introspectedTable.getFullyQualifiedTableNameAtRuntime());
    answer.addElement(new TextElement(sb.toString()));

    XmlElement insertElement = new XmlElement("dynamic"); //$NON-NLS-1$
    insertElement.addAttribute(new Attribute("prepend", "(")); //$NON-NLS-1$ //$NON-NLS-2$
    answer.addElement(insertElement);

    answer.addElement(new TextElement("values")); //$NON-NLS-1$

    XmlElement valuesElement = new XmlElement("dynamic"); //$NON-NLS-1$
    valuesElement.addAttribute(new Attribute("prepend", "(")); //$NON-NLS-1$ //$NON-NLS-2$
    answer.addElement(valuesElement);

    for (IntrospectedColumn introspectedColumn : introspectedTable.getAllColumns()) {
      if (introspectedColumn.isIdentity()) {
        // cannot set values on identity fields
        continue;
      }

      XmlElement insertNotNullElement = new XmlElement("isNotNull"); //$NON-NLS-1$
      insertNotNullElement.addAttribute(new Attribute("prepend", ",")); //$NON-NLS-1$ //$NON-NLS-2$
      insertNotNullElement.addAttribute(new Attribute("property", introspectedColumn.getJavaProperty())); //$NON-NLS-1$
      insertNotNullElement.addElement(new TextElement(Ibatis2FormattingUtilities
          .getEscapedColumnName(introspectedColumn)));
      insertElement.addElement(insertNotNullElement);

      XmlElement valuesNotNullElement = new XmlElement("isNotNull"); //$NON-NLS-1$
      valuesNotNullElement.addAttribute(new Attribute("prepend", ",")); //$NON-NLS-1$ //$NON-NLS-2$
      valuesNotNullElement.addAttribute(new Attribute("property", introspectedColumn.getJavaProperty())); //$NON-NLS-1$
      valuesNotNullElement.addElement(new TextElement(Ibatis2FormattingUtilities
          .getParameterClause(introspectedColumn)));
      valuesElement.addElement(valuesNotNullElement);
    }

    insertElement.addElement(new TextElement(")")); //$NON-NLS-1$
    valuesElement.addElement(new TextElement(")")); //$NON-NLS-1$

    if (gk != null && !gk.isPlacedBeforeInsertInIbatis2()) {
      IntrospectedColumn introspectedColumn = introspectedTable.getColumn(gk.getColumn());
      // if the column is null, then it's a configuration error. The
      // warning has already been reported
      if (introspectedColumn != null) {
        // pre-generated key
        answer.addElement(getSelectKey(introspectedColumn, gk));
View Full Code Here

TOP

Related Classes of org.mybatis.generator.api.IntrospectedColumn

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.