org.mybatis.generator.config.GeneratedKey类的使用及代码示例

x33g5p2x  于2022-01-20 转载在 其他  
字(14.8k)|赞(0)|评价(0)|浏览(218)

本文整理了Java中org.mybatis.generator.config.GeneratedKey类的一些代码示例,展示了GeneratedKey类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。GeneratedKey类的具体详情如下:
包路径:org.mybatis.generator.config.GeneratedKey
类名称:GeneratedKey

GeneratedKey介绍

[英]This class specifies that a key is auto-generated, either as an identity column (post insert), or as some other query like a sequences (pre insert).
[中]此类指定自动生成键,可以作为标识列(插入后)或其他查询(如序列(插入前)生成。

代码示例

代码示例来源:origin: abel533/Mapper

if ("JDBC".equals(introspectedTable.getTableConfiguration().getGeneratedKey().getRuntimeSqlStatement())) {
  field.addAnnotation("@GeneratedValue(generator = \"JDBC\")");
} else {
String sql = MessageFormat.format(introspectedTable.getTableConfiguration().getGeneratedKey().getRuntimeSqlStatement(), tableName, tableName.toUpperCase());
field.addAnnotation("@GeneratedValue(strategy = GenerationType.IDENTITY, generator = \"" + sql + "\")");

代码示例来源:origin: org.mybatis.generator/mybatis-generator-core

private boolean isMatchedColumn(IntrospectedColumn introspectedColumn, GeneratedKey gk) {
  if (introspectedColumn.isColumnNameDelimited()) {
    return introspectedColumn.getActualColumnName().equals(gk.getColumn());
  } else {
    return introspectedColumn.getActualColumnName().equalsIgnoreCase(gk.getColumn());
  }
}

代码示例来源:origin: org.mybatis.generator/mybatis-generator-core

protected void addGeneratedKeyAnnotation(Method method, GeneratedKey gk) {
  StringBuilder sb = new StringBuilder();
  IntrospectedColumn introspectedColumn = introspectedTable.getColumn(gk.getColumn());
  if (introspectedColumn != null) {
    if (gk.isJdbcStandard()) {
      sb.append("@Options(useGeneratedKeys=true,keyProperty=\""); //$NON-NLS-1$
      sb.append(introspectedColumn.getJavaProperty());
      sb.append("\")"); //$NON-NLS-1$
      method.addAnnotation(sb.toString());
    } else {
      FullyQualifiedJavaType fqjt = introspectedColumn.getFullyQualifiedJavaType();
      sb.append("@SelectKey(statement=\""); //$NON-NLS-1$
      sb.append(gk.getRuntimeSqlStatement());
      sb.append("\", keyProperty=\""); //$NON-NLS-1$
      sb.append(introspectedColumn.getJavaProperty());
      sb.append("\", before="); //$NON-NLS-1$
      sb.append(gk.isIdentity() ? "false" : "true"); //$NON-NLS-1$ //$NON-NLS-2$
      sb.append(", resultType="); //$NON-NLS-1$
      sb.append(fqjt.getShortName());
      sb.append(".class)"); //$NON-NLS-1$
      method.addAnnotation(sb.toString());
    }
  }
}

代码示例来源:origin: beihaifeiwu/dolphin

protected XmlElement getSelectKey(IntrospectedColumn introspectedColumn, GeneratedKey generatedKey) {
 String identityColumnType = introspectedColumn
   .getFullyQualifiedJavaType().getFullyQualifiedName();
 XmlElement answer = new XmlElement("selectKey"); //$NON-NLS-1$
 answer.addAttribute(new Attribute("resultType", identityColumnType)); //$NON-NLS-1$
 answer.addAttribute(new Attribute("keyProperty", introspectedColumn.getJavaProperty())); //$NON-NLS-1$
 answer.addAttribute(new Attribute("order", //$NON-NLS-1$
   generatedKey.getMyBatis3Order()));
 answer.addElement(new TextElement(generatedKey.getRuntimeSqlStatement()));
 return answer;
}

代码示例来源:origin: cxjava/mybatis-generator-core

/**
 * This method should return an XmlElement for the select key used to
 * automatically generate keys.
 * 
 * @param introspectedColumn
 *            the column related to the select key statement
 * @param generatedKey
 *            the generated key for the current table
 * @return the selectKey element
 */
protected XmlElement getSelectKey(IntrospectedColumn introspectedColumn, GeneratedKey generatedKey) {
  String identityColumnType = introspectedColumn.getFullyQualifiedJavaType().getFullyQualifiedName();
  XmlElement answer = new XmlElement("selectKey"); //$NON-NLS-1$
  answer.addAttribute(new Attribute("resultClass", identityColumnType)); //$NON-NLS-1$
  answer.addAttribute(new Attribute("keyProperty", introspectedColumn.getJavaProperty())); //$NON-NLS-1$
  if (stringHasValue(generatedKey.getType())) {
    answer.addAttribute(new Attribute("type", generatedKey.getType())); //$NON-NLS-1$  
  }
  answer.addElement(new TextElement(generatedKey.getRuntimeSqlStatement()));
  return answer;
}

代码示例来源:origin: org.mybatis.generator/mybatis-generator-core

protected void addGeneratedKeyImports(Interface interfaze, GeneratedKey gk) {
    IntrospectedColumn introspectedColumn = introspectedTable.getColumn(gk.getColumn());
    if (introspectedColumn != null) {
      if (gk.isJdbcStandard()) {
        interfaze.addImportedType(
            new FullyQualifiedJavaType("org.apache.ibatis.annotations.Options")); //$NON-NLS-1$
      } else {
        interfaze.addImportedType(
            new FullyQualifiedJavaType("org.apache.ibatis.annotations.SelectKey")); //$NON-NLS-1$
        FullyQualifiedJavaType fqjt = introspectedColumn.getFullyQualifiedJavaType();
        interfaze.addImportedType(fqjt);
      }
    }
  }
}

代码示例来源:origin: org.mybatis.generator/mybatis-generator-core

if (gk != null && gk.isPlacedBeforeInsertInIbatis2()) {
  IntrospectedColumn introspectedColumn = introspectedTable
      .getColumn(gk.getColumn());
if (gk != null && !gk.isPlacedBeforeInsertInIbatis2()) {
  IntrospectedColumn introspectedColumn = introspectedTable
      .getColumn(gk.getColumn());

代码示例来源:origin: org.mybatis.generator/mybatis-generator-core

private void parseGeneratedKey(TableConfiguration tc, Node node) {
  Properties attributes = parseAttributes(node);
  String column = attributes.getProperty("column"); //$NON-NLS-1$
  boolean identity = isTrue(attributes
      .getProperty("identity")); //$NON-NLS-1$
  String sqlStatement = attributes.getProperty("sqlStatement"); //$NON-NLS-1$
  String type = attributes.getProperty("type"); //$NON-NLS-1$
  GeneratedKey gk = new GeneratedKey(column, sqlStatement, identity, type);
  tc.setGeneratedKey(gk);
}

代码示例来源:origin: cxjava/mybatis-generator-core

private void reportIntrospectionWarnings(IntrospectedTable introspectedTable,
    TableConfiguration tableConfiguration, FullyQualifiedTable table) {
  // make sure that every column listed in column overrides
  // actually exists in the table
  for (ColumnOverride columnOverride : tableConfiguration.getColumnOverrides()) {
    if (introspectedTable.getColumn(columnOverride.getColumnName()) == null) {
      warnings.add(getString("Warning.3", //$NON-NLS-1$
          columnOverride.getColumnName(), table.toString()));
    }
  }
  // make sure that every column listed in ignored columns
  // actually exists in the table
  for (String string : tableConfiguration.getIgnoredColumnsInError()) {
    warnings.add(getString("Warning.4", //$NON-NLS-1$
        string, table.toString()));
  }
  GeneratedKey generatedKey = tableConfiguration.getGeneratedKey();
  if (generatedKey != null && introspectedTable.getColumn(generatedKey.getColumn()) == null) {
    if (generatedKey.isIdentity()) {
      warnings.add(getString("Warning.5", //$NON-NLS-1$
          generatedKey.getColumn(), table.toString()));
    } else {
      warnings.add(getString("Warning.6", //$NON-NLS-1$
          generatedKey.getColumn(), table.toString()));
    }
  }
}

代码示例来源:origin: roncoo/roncoo-mybatis-generator

private void calculateIdentityColumns(TableConfiguration tc,
    Map<ActualTableName, List<IntrospectedColumn>> columns) {
  GeneratedKey gk = tc.getGeneratedKey();
  if (gk == null) {
    // no generated key, then no identity or sequence columns
    return;
  }
  
  for (Map.Entry<ActualTableName, List<IntrospectedColumn>> entry : columns
      .entrySet()) {
    for (IntrospectedColumn introspectedColumn : entry.getValue()) {
      if (isMatchedColumn(introspectedColumn, gk)) {
        if (gk.isIdentity() || gk.isJdbcStandard()) {
          introspectedColumn.setIdentity(true);
          introspectedColumn.setSequenceColumn(false);
        } else {
          introspectedColumn.setIdentity(false);
          introspectedColumn.setSequenceColumn(true);
        }
      }
    }
  }
}

代码示例来源:origin: cxjava/mybatis-generator-core

public void validate(List<String> errors, int listPosition) {
  if (!stringHasValue(tableName)) {
    errors.add(getString("ValidationError.6", Integer.toString(listPosition))); //$NON-NLS-1$
  }
  String fqTableName = composeFullyQualifiedTableName(catalog, schema, tableName, '.');
  if (generatedKey != null) {
    generatedKey.validate(errors, fqTableName);
  }
  if (isTrue(getProperty(PropertyRegistry.TABLE_USE_COLUMN_INDEXES))) {
    // when using column indexes, either both or neither query ids
    // should be set
    if (selectByExampleStatementEnabled && selectByPrimaryKeyStatementEnabled) {
      boolean queryId1Set = stringHasValue(selectByExampleQueryId);
      boolean queryId2Set = stringHasValue(selectByPrimaryKeyQueryId);
      if (queryId1Set != queryId2Set) {
        errors.add(getString("ValidationError.13", //$NON-NLS-1$
            fqTableName));
      }
    }
  }
  if (columnRenamingRule != null) {
    columnRenamingRule.validate(errors, fqTableName);
  }
  for (ColumnOverride columnOverride : columnOverrides) {
    columnOverride.validate(errors, fqTableName);
  }
  for (IgnoredColumn ignoredColumn : ignoredColumns.keySet()) {
    ignoredColumn.validate(errors, fqTableName);
  }
}

代码示例来源:origin: cxjava/mybatis-generator-core

xmlElement.addElement(generatedKey.toXmlElement());

代码示例来源:origin: cxjava/mybatis-generator-core

protected void addGeneratedKeyAnnotation(Interface interfaze, Method method, GeneratedKey gk) {
    StringBuilder sb = new StringBuilder();
    IntrospectedColumn introspectedColumn = introspectedTable.getColumn(gk.getColumn());
    if (introspectedColumn != null) {
      if (gk.isJdbcStandard()) {
        interfaze.addImportedType(new FullyQualifiedJavaType("org.apache.ibatis.annotations.Options")); //$NON-NLS-1$
        sb.append("@Options(useGeneratedKeys=true,keyProperty=\""); //$NON-NLS-1$
        sb.append(introspectedColumn.getJavaProperty());
        sb.append("\")"); //$NON-NLS-1$
        method.addAnnotation(sb.toString());
      } else {
        interfaze.addImportedType(new FullyQualifiedJavaType("org.apache.ibatis.annotations.SelectKey")); //$NON-NLS-1$
        FullyQualifiedJavaType fqjt = introspectedColumn.getFullyQualifiedJavaType();
        interfaze.addImportedType(fqjt);
        sb.append("@SelectKey(statement=\""); //$NON-NLS-1$
        sb.append(gk.getRuntimeSqlStatement());
        sb.append("\", keyProperty=\""); //$NON-NLS-1$
        sb.append(introspectedColumn.getJavaProperty());
        sb.append("\", before="); //$NON-NLS-1$
        sb.append(gk.isIdentity() ? "false" : "true"); //$NON-NLS-1$ //$NON-NLS-2$
        sb.append(", resultType="); //$NON-NLS-1$
        sb.append(fqjt.getShortName());
        sb.append(".class)"); //$NON-NLS-1$
        method.addAnnotation(sb.toString());
      }
    }
  }
}

代码示例来源:origin: cxjava/mybatis-generator-core

/**
 * This method should return an XmlElement for the select key used to
 * automatically generate keys.
 * 
 * @param introspectedColumn
 *            the column related to the select key statement
 * @param generatedKey
 *            the generated key for the current table
 * @return the selectKey element
 */
protected XmlElement getSelectKey(IntrospectedColumn introspectedColumn, GeneratedKey generatedKey) {
  String identityColumnType = introspectedColumn.getFullyQualifiedJavaType().getFullyQualifiedName();
  XmlElement answer = new XmlElement("selectKey"); //$NON-NLS-1$
  answer.addAttribute(new Attribute("resultType", identityColumnType)); //$NON-NLS-1$
  answer.addAttribute(new Attribute("keyProperty", introspectedColumn.getJavaProperty())); //$NON-NLS-1$
  answer.addAttribute(new Attribute("order", //$NON-NLS-1$
      generatedKey.getMyBatis3Order()));
  answer.addElement(new TextElement(generatedKey.getRuntimeSqlStatement()));
  return answer;
}

代码示例来源:origin: handosme/mybatis-generator-plus

/**
 * This method should return an XmlElement for the select key used to
 * automatically generate keys.
 * 
 * @param introspectedColumn
 *            the column related to the select key statement
 * @param generatedKey
 *            the generated key for the current table
 * @return the selectKey element
 */
protected XmlElement getSelectKey(IntrospectedColumn introspectedColumn,
    GeneratedKey generatedKey) {
  String identityColumnType = introspectedColumn
      .getFullyQualifiedJavaType().getFullyQualifiedName();
  XmlElement answer = new XmlElement("selectKey"); //$NON-NLS-1$
  answer.addAttribute(new Attribute("resultClass", identityColumnType)); //$NON-NLS-1$
  answer.addAttribute(new Attribute(
      "keyProperty", introspectedColumn.getJavaProperty())); //$NON-NLS-1$
  if (stringHasValue(generatedKey.getType())) {
    answer.addAttribute(new Attribute("type", generatedKey.getType())); //$NON-NLS-1$  
  }
  answer
      .addElement(new TextElement(generatedKey
          .getRuntimeSqlStatement()));
  return answer;
}

代码示例来源:origin: cxjava/mybatis-generator-core

IntrospectedColumn introspectedColumn = introspectedTable.getColumn(gk.getColumn());
  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$

代码示例来源:origin: roncoo/roncoo-mybatis-generator

if (gk != null && gk.isPlacedBeforeInsertInIbatis2()) {
  IntrospectedColumn introspectedColumn = introspectedTable
      .getColumn(gk.getColumn());
if (gk != null && !gk.isPlacedBeforeInsertInIbatis2()) {
  IntrospectedColumn introspectedColumn = introspectedTable
      .getColumn(gk.getColumn());

代码示例来源:origin: roncoo/roncoo-mybatis-generator

private void parseGeneratedKey(TableConfiguration tc, Node node) {
  Properties attributes = parseAttributes(node);
  String column = attributes.getProperty("column"); //$NON-NLS-1$
  boolean identity = isTrue(attributes
      .getProperty("identity")); //$NON-NLS-1$
  String sqlStatement = attributes.getProperty("sqlStatement"); //$NON-NLS-1$
  String type = attributes.getProperty("type"); //$NON-NLS-1$
  GeneratedKey gk = new GeneratedKey(column, sqlStatement, identity, type);
  tc.setGeneratedKey(gk);
}

代码示例来源:origin: roncoo/roncoo-mybatis-generator

private void reportIntrospectionWarnings(
    IntrospectedTable introspectedTable,
    TableConfiguration tableConfiguration, FullyQualifiedTable table) {
  // make sure that every column listed in column overrides
  // actually exists in the table
  for (ColumnOverride columnOverride : tableConfiguration
      .getColumnOverrides()) {
    if (introspectedTable.getColumn(columnOverride.getColumnName()) == null) {
      warnings.add(getString("Warning.3", //$NON-NLS-1$
          columnOverride.getColumnName(), table.toString()));
    }
  }
  // make sure that every column listed in ignored columns
  // actually exists in the table
  for (String string : tableConfiguration.getIgnoredColumnsInError()) {
    warnings.add(getString("Warning.4", //$NON-NLS-1$
        string, table.toString()));
  }
  GeneratedKey generatedKey = tableConfiguration.getGeneratedKey();
  if (generatedKey != null
      && introspectedTable.getColumn(generatedKey.getColumn()) == null) {
    if (generatedKey.isIdentity()) {
      warnings.add(getString("Warning.5", //$NON-NLS-1$
          generatedKey.getColumn(), table.toString()));
    } else {
      warnings.add(getString("Warning.6", //$NON-NLS-1$
          generatedKey.getColumn(), table.toString()));
    }
  }
}

代码示例来源:origin: org.mybatis.generator/mybatis-generator-core

private void calculateIdentityColumns(TableConfiguration tc,
    Map<ActualTableName, List<IntrospectedColumn>> columns) {
  GeneratedKey gk = tc.getGeneratedKey();
  if (gk == null) {
    // no generated key, then no identity or sequence columns
    return;
  }
  for (Map.Entry<ActualTableName, List<IntrospectedColumn>> entry : columns
      .entrySet()) {
    for (IntrospectedColumn introspectedColumn : entry.getValue()) {
      if (isMatchedColumn(introspectedColumn, gk)) {
        if (gk.isIdentity() || gk.isJdbcStandard()) {
          introspectedColumn.setIdentity(true);
          introspectedColumn.setSequenceColumn(false);
        } else {
          introspectedColumn.setIdentity(false);
          introspectedColumn.setSequenceColumn(true);
        }
      }
    }
  }
}

相关文章