/** * Resolves table name or alias that will be used in the query. */ protected String resolveTable(final String tableRef, final DbEntityDescriptor ded) { String tableAlias = templateData.getTableAlias(tableRef); if (tableAlias != null) { return tableAlias; } return ded.getTableNameForQuery(); }
@Override public void process(final StringBuilder out) { separateByCommaOrSpace(out); out.append(ded.getTableNameForQuery()); if (tableAlias != null) { out.append(' ').append(tableAlias); } }
@Override public void process(final StringBuilder out) { DbEntityDescriptor ded = entityName != null ? lookupName(entityName) : lookupType(entityType); StringBuilder col = new StringBuilder(); StringBuilder val = new StringBuilder(); DbEntityColumnDescriptor[] decList = ded.getColumnDescriptors(); String typeName = StringUtil.uncapitalize(ded.getEntityName()); int size = 0; for (DbEntityColumnDescriptor dec : decList) { if (dec.isId() && !defaultIsUpdateablePrimaryKey) { continue; } String property = dec.getPropertyName(); Object value = BeanUtil.declared.getProperty(data, property); if (value == null) { continue; } if (size > 0) { col.append(',').append(' '); val.append(',').append(' '); } size++; col.append(dec.getColumnNameForQuery()); final String propertyName = typeName + '.' + property; defineParameter(val, propertyName, value, dec); } out.append("insert into ").append(ded.getTableNameForQuery()).append(" (") .append(col).append(") values (").append(val).append(')'); }
/** * Appends alias. */ protected void appendAlias(final StringBuilder query, final DbEntityDescriptor ded, final DbEntityColumnDescriptor dec) { final ColumnAliasType columnAliasType = templateData.getColumnAliasType(); if (columnAliasType == null || columnAliasType == ColumnAliasType.TABLE_REFERENCE) { final String tableName = ded.getTableName(); final String columnName = dec.getColumnNameForQuery(); templateData.registerColumnDataForTableRef(tableRef, tableName); query.append(tableRef).append(columnAliasSeparator).append(columnName); } else if (columnAliasType == ColumnAliasType.COLUMN_CODE) { final String tableName = ded.getTableName(); final String columnName = dec.getColumnName(); final String code = templateData.registerColumnDataForColumnCode(tableName, columnName); query.append(code); } else if (columnAliasType == ColumnAliasType.TABLE_NAME) { final String tableName = ded.getTableNameForQuery(); final String columnName = dec.getColumnNameForQuery(); query.append(tableName).append(columnAliasSeparator).append(columnName); } }
/** * Simply appends column name with optional table reference and alias. */ protected void appendColumnName(final StringBuilder query, final DbEntityDescriptor ded, final DbEntityColumnDescriptor dec) { query.append(resolveTable(tableRef, ded)).append('.').append(dec.getColumnName()); if (templateData.getColumnAliasType() != null) { // create column aliases query.append(AS); switch (templateData.getColumnAliasType()) { case TABLE_NAME: { final String tableName = ded.getTableNameForQuery(); query.append(tableName).append(columnAliasSeparator).append(dec.getColumnNameForQuery()); break; } case TABLE_REFERENCE: { final String tableName = ded.getTableName(); templateData.registerColumnDataForTableRef(tableRef, tableName); query.append(tableRef).append(columnAliasSeparator).append(dec.getColumnNameForQuery()); break; } case COLUMN_CODE: { final String tableName = ded.getTableName(); final String code = templateData.registerColumnDataForColumnCode(tableName, dec.getColumnName()); query.append(code); break; } } } }
@Override public void process(final StringBuilder out) { separateByCommaOrSpace(out); out.append(ded.getTableNameForQuery()); if (tableAlias != null) { out.append(' ').append(tableAlias); } }
/** * Resolves table name or alias that will be used in the query. */ protected String resolveTable(final String tableRef, final DbEntityDescriptor ded) { String tableAlias = templateData.getTableAlias(tableRef); if (tableAlias != null) { return tableAlias; } return ded.getTableNameForQuery(); }
@Override public void process(final StringBuilder out) { DbEntityDescriptor ded = entityName != null ? lookupName(entityName) : lookupType(entityType); StringBuilder col = new StringBuilder(); StringBuilder val = new StringBuilder(); DbEntityColumnDescriptor[] decList = ded.getColumnDescriptors(); String typeName = StringUtil.uncapitalize(ded.getEntityName()); int size = 0; for (DbEntityColumnDescriptor dec : decList) { if (dec.isId() && !defaultIsUpdateablePrimaryKey) { continue; } String property = dec.getPropertyName(); Object value = BeanUtil.declared.getProperty(data, property); if (value == null) { continue; } if (size > 0) { col.append(',').append(' '); val.append(',').append(' '); } size++; col.append(dec.getColumnNameForQuery()); final String propertyName = typeName + '.' + property; defineParameter(val, propertyName, value, dec); } out.append("insert into ").append(ded.getTableNameForQuery()).append(" (") .append(col).append(") values (").append(val).append(')'); }
/** * Appends alias. */ protected void appendAlias(final StringBuilder query, final DbEntityDescriptor ded, final DbEntityColumnDescriptor dec) { final ColumnAliasType columnAliasType = templateData.getColumnAliasType(); if (columnAliasType == null || columnAliasType == ColumnAliasType.TABLE_REFERENCE) { final String tableName = ded.getTableName(); final String columnName = dec.getColumnNameForQuery(); templateData.registerColumnDataForTableRef(tableRef, tableName); query.append(tableRef).append(columnAliasSeparator).append(columnName); } else if (columnAliasType == ColumnAliasType.COLUMN_CODE) { final String tableName = ded.getTableName(); final String columnName = dec.getColumnName(); final String code = templateData.registerColumnDataForColumnCode(tableName, columnName); query.append(code); } else if (columnAliasType == ColumnAliasType.TABLE_NAME) { final String tableName = ded.getTableNameForQuery(); final String columnName = dec.getColumnNameForQuery(); query.append(tableName).append(columnAliasSeparator).append(columnName); } }
/** * Simply appends column name with optional table reference and alias. */ protected void appendColumnName(final StringBuilder query, final DbEntityDescriptor ded, final DbEntityColumnDescriptor dec) { query.append(resolveTable(tableRef, ded)).append('.').append(dec.getColumnName()); if (templateData.getColumnAliasType() != null) { // create column aliases query.append(AS); switch (templateData.getColumnAliasType()) { case TABLE_NAME: { final String tableName = ded.getTableNameForQuery(); query.append(tableName).append(columnAliasSeparator).append(dec.getColumnNameForQuery()); break; } case TABLE_REFERENCE: { final String tableName = ded.getTableName(); templateData.registerColumnDataForTableRef(tableRef, tableName); query.append(tableRef).append(columnAliasSeparator).append(dec.getColumnNameForQuery()); break; } case COLUMN_CODE: { final String tableName = ded.getTableName(); final String code = templateData.registerColumnDataForColumnCode(tableName, dec.getColumnName()); query.append(code); break; } } } }