protected void generateCopyForSetByPrefix(String fieldPrefix, String leftPrefix, String rightPrefix, boolean ifNullCheck, IntrospectedTable introspectedTable, XmlElement dynamicElement) { XmlElement trimElement = new XmlElement("trim"); trimElement.addAttribute(new Attribute("suffixOverrides", ",")); StringBuilder sb = new StringBuilder(); for (IntrospectedColumn introspectedColumn : introspectedTable.getAllColumns()) { sb.setLength(0); String columnName = MyBatis3FormattingUtilities.getAliasedEscapedColumnName(introspectedColumn); sb.append(leftPrefix + columnName); sb.append(" = "); sb.append(rightPrefix + columnName); sb.append(','); doIfNullCheck(fieldPrefix, ifNullCheck, trimElement, sb, introspectedColumn); } dynamicElement.addElement(trimElement); }
protected void generateCopyForSetByPrefix(String fieldPrefix, String leftPrefix, String rightPrefix, boolean ifNullCheck, IntrospectedTable introspectedTable, XmlElement dynamicElement) { XmlElement trimElement = new XmlElement("trim"); trimElement.addAttribute(new Attribute("suffixOverrides", ",")); StringBuilder sb = new StringBuilder(); for (IntrospectedColumn introspectedColumn : introspectedTable.getAllColumns()) { sb.setLength(0); String columnName = MyBatis3FormattingUtilities.getAliasedEscapedColumnName(introspectedColumn); sb.append(leftPrefix + columnName); sb.append(" = "); sb.append(rightPrefix + columnName); sb.append(','); doIfNullCheck(fieldPrefix, ifNullCheck, trimElement, sb, introspectedColumn); } dynamicElement.addElement(trimElement); }
protected void generateParameterForSet(String fieldPrefix, boolean ifNullCheck, List<IntrospectedColumn> columns, XmlElement dynamicElement) { XmlElement trimElement = new XmlElement("trim"); trimElement.addAttribute(new Attribute("suffixOverrides", ",")); StringBuilder sb = new StringBuilder(); for (IntrospectedColumn introspectedColumn : columns) { sb.setLength(0); sb.append(MyBatis3FormattingUtilities.getAliasedEscapedColumnName(introspectedColumn)); sb.append(" = "); sb.append(MyBatis3FormattingUtilities.getParameterClause(introspectedColumn, fieldPrefix)); sb.append(','); doIfNullCheck(fieldPrefix, ifNullCheck, trimElement, sb, introspectedColumn); } dynamicElement.addElement(trimElement); }
protected void generateWhereConditions(String fieldPrefix, String columnPrefix, boolean ifNullCheck, List<IntrospectedColumn> columns, XmlElement parent) { XmlElement trimElement = new XmlElement("trim"); trimElement.addAttribute(new Attribute("suffixOverrides", ",")); StringBuilder sb = new StringBuilder(); for (IntrospectedColumn introspectedColumn : columns) { sb.setLength(0); sb.append((columnPrefix == null ? "" : columnPrefix) + MyBatis3FormattingUtilities.getAliasedEscapedColumnName(introspectedColumn)); sb.append(" = "); sb.append(MyBatis3FormattingUtilities.getParameterClause(introspectedColumn, fieldPrefix)); sb.append(","); doIfNullCheck(fieldPrefix, ifNullCheck, trimElement, sb, introspectedColumn); } XmlElement where = new XmlElement("where"); where.addElement(trimElement); parent.addElement(where); }
protected void generateActualColumnNamesWithParenthesis(String fieldPrefix, String columnPrefix, boolean ifNullCheck, List<IntrospectedColumn> columns, XmlElement parent) { XmlElement trimElement = new XmlElement("trim"); trimElement.addAttribute(new Attribute("suffixOverrides", ",")); trimElement.addAttribute(new Attribute("prefix", "(")); trimElement.addAttribute(new Attribute("suffix", ")")); StringBuilder sb = new StringBuilder(); for (IntrospectedColumn introspectedColumn : columns) { sb.setLength(0); sb.append((columnPrefix == null ? "" : columnPrefix) + MyBatis3FormattingUtilities.getAliasedEscapedColumnName(introspectedColumn)); sb.append(","); doIfNullCheck(fieldPrefix, ifNullCheck, trimElement, sb, introspectedColumn); } parent.addElement(trimElement); }
/** * The phrase to use in a select list. If there is a table alias, the value * will be "alias.columnName as alias_columnName" * * @return the proper phrase */ public static String getSelectListPhrase(IntrospectedColumn introspectedColumn) { if (stringHasValue(introspectedColumn.getTableAlias())) { StringBuilder sb = new StringBuilder(); sb.append(getAliasedEscapedColumnName(introspectedColumn)); sb.append(" as "); //$NON-NLS-1$ if (introspectedColumn.isColumnNameDelimited()) { sb.append(introspectedColumn.getContext().getBeginningDelimiter()); } sb.append(introspectedColumn.getTableAlias()); sb.append('_'); sb.append(escapeStringForMyBatis3(introspectedColumn.getActualColumnName())); if (introspectedColumn.isColumnNameDelimited()) { sb.append(introspectedColumn.getContext().getEndingDelimiter()); } return sb.toString(); } else { return getEscapedColumnName(introspectedColumn); } }
/** * The phrase to use in a select list. If there is a table alias, the value * will be "alias.columnName as alias_columnName" * * @return the proper phrase */ public static String getSelectListPhrase( IntrospectedColumn introspectedColumn) { if (stringHasValue(introspectedColumn.getTableAlias())) { StringBuilder sb = new StringBuilder(); sb.append(getAliasedEscapedColumnName(introspectedColumn)); sb.append(" as "); //$NON-NLS-1$ if (introspectedColumn.isColumnNameDelimited()) { sb.append(introspectedColumn.getContext() .getBeginningDelimiter()); } sb.append(introspectedColumn.getTableAlias()); sb.append('_'); sb.append(escapeStringForMyBatis3(introspectedColumn .getActualColumnName())); if (introspectedColumn.isColumnNameDelimited()) { sb.append(introspectedColumn.getContext().getEndingDelimiter()); } return sb.toString(); } else { return getEscapedColumnName(introspectedColumn); } }
/** * The phrase to use in a select list. If there is a table alias, the value * will be "alias.columnName as alias_columnName" * * @return the proper phrase */ public static String getSelectListPhrase( IntrospectedColumn introspectedColumn) { if (stringHasValue(introspectedColumn.getTableAlias())) { StringBuilder sb = new StringBuilder(); sb.append(getAliasedEscapedColumnName(introspectedColumn)); sb.append(" as "); //$NON-NLS-1$ if (introspectedColumn.isColumnNameDelimited()) { sb.append(introspectedColumn.getContext() .getBeginningDelimiter()); } sb.append(introspectedColumn.getTableAlias()); sb.append('_'); sb.append(escapeStringForMyBatis3(introspectedColumn .getActualColumnName())); if (introspectedColumn.isColumnNameDelimited()) { sb.append(introspectedColumn.getContext().getEndingDelimiter()); } return sb.toString(); } else { return getEscapedColumnName(introspectedColumn); } }
/** * The phrase to use in a select list. If there is a table alias, the value will be * "alias.columnName as alias_columnName" * * @param introspectedColumn * the introspected column * @return the proper phrase */ public static String getSelectListPhrase( IntrospectedColumn introspectedColumn) { if (stringHasValue(introspectedColumn.getTableAlias())) { StringBuilder sb = new StringBuilder(); sb.append(getAliasedEscapedColumnName(introspectedColumn)); sb.append(" as "); //$NON-NLS-1$ if (introspectedColumn.isColumnNameDelimited()) { sb.append(introspectedColumn.getContext() .getBeginningDelimiter()); } sb.append(introspectedColumn.getTableAlias()); sb.append('_'); sb.append(escapeStringForMyBatis3(introspectedColumn .getActualColumnName())); if (introspectedColumn.isColumnNameDelimited()) { sb.append(introspectedColumn.getContext().getEndingDelimiter()); } return sb.toString(); } else { return getEscapedColumnName(introspectedColumn); } }
IntrospectedColumn introspectedColumn = iter.next(); sb.append(MyBatis3FormattingUtilities.getAliasedEscapedColumnName(introspectedColumn)); sb.append(" = "); //$NON-NLS-1$ sb.append(MyBatis3FormattingUtilities.getParameterClause(introspectedColumn, "record.")); //$NON-NLS-1$
.getAliasedEscapedColumnName(introspectedColumn)); sb.append(" = "); //$NON-NLS-1$ sb.append(MyBatis3FormattingUtilities.getParameterClause(
sb.append(MyBatis3FormattingUtilities.getAliasedEscapedColumnName(introspectedColumn)); sb.append(" = "); sb.append(MyBatis3FormattingUtilities.getParameterClause(introspectedColumn, PROPERTY_PREFIX));
@Override 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); String columnName = MyBatis3FormattingUtilities.getAliasedEscapedColumnName(introspectedColumn); sb.append(introspectedTable.getAliasedFullyQualifiedTableNameAtRuntime() + "." + columnName); sb.append(" = "); sb.append("temp." + columnName); isEqualElement.addElement(new TextElement(sb.toString())); } sql.addElement(foreach); return sql; }
@Override 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); String columnName = MyBatis3FormattingUtilities.getAliasedEscapedColumnName(introspectedColumn); sb.append(introspectedTable.getAliasedFullyQualifiedTableNameAtRuntime() + "." + columnName); sb.append(" = "); sb.append("temp." + columnName); isEqualElement.addElement(new TextElement(sb.toString())); } sql.addElement(foreach); return sql; }
sb.append(MyBatis3FormattingUtilities.getAliasedEscapedColumnName(introspectedColumn)); sb.append(" = "); //$NON-NLS-1$ sb.append(MyBatis3FormattingUtilities.getParameterClause(introspectedColumn, "record.")); //$NON-NLS-1$
.getAliasedEscapedColumnName(introspectedColumn)); sb.append(" = "); //$NON-NLS-1$ sb.append(MyBatis3FormattingUtilities.getParameterClause(
.getAliasedEscapedColumnName(introspectedColumn)); sb.append(" = "); //$NON-NLS-1$ sb.append(MyBatis3FormattingUtilities.getParameterClause(
private XmlElement buildInner(XmlElement orderBy, IntrospectedTable introspectedTable) { // generate order by clause, first check if user provided order by clause, if provided just use it // otherwise use the default primary key for order by clause XmlElement newOrderBy = new XmlElement("choose"); XmlElement when = new XmlElement("when"); when.addAttribute(new Attribute("test", "orderByClause != null")); for (Element e : orderBy.getElements()) { when.addElement(e); } newOrderBy.addElement(when); XmlElement otherwise = new XmlElement("otherwise"); StringBuilder sb = new StringBuilder(); sb.append(" order by "); List<IntrospectedColumn> columns = introspectedTable.getPrimaryKeyColumns(); for (IntrospectedColumn column : columns) { sb.append(MyBatis3FormattingUtilities.getAliasedEscapedColumnName(column)).append(", "); } sb.setLength(sb.length() - 2); otherwise.addElement(new TextElement(sb.toString())); newOrderBy.addElement(otherwise); XmlElement inner = new XmlElement("if"); inner.addAttribute(new Attribute("test", "limit != null and limit>=0 and offset != null")); inner.addElement(new TextElement(" , ROW_NUMBER() over ( ")); inner.addElement(newOrderBy); inner.addElement(new TextElement(" ) as row_num ")); return inner; }
escapeStringForJava(getAliasedEscapedColumnName(introspectedColumn)), sb.toString()));
escapeStringForJava(getAliasedEscapedColumnName(introspectedColumn)), sb.toString()));