diff --git a/easysql-api/pom.xml b/easysql-api/pom.xml index 3ef5afb..936e0fc 100644 --- a/easysql-api/pom.xml +++ b/easysql-api/pom.xml @@ -5,7 +5,7 @@ cc.carm.lib easysql-parent - 0.3.3 + 0.3.4 4.0.0 diff --git a/easysql-api/src/main/java/cc/carm/lib/easysql/api/SQLBuilder.java b/easysql-api/src/main/java/cc/carm/lib/easysql/api/SQLBuilder.java index 48f74f1..238e799 100644 --- a/easysql-api/src/main/java/cc/carm/lib/easysql/api/SQLBuilder.java +++ b/easysql-api/src/main/java/cc/carm/lib/easysql/api/SQLBuilder.java @@ -11,11 +11,22 @@ import org.jetbrains.annotations.NotNull; */ public interface SQLBuilder { - /** - * 得到承载该Builder的对应{@link SQLManager} - * - * @return {@link SQLManager} - */ - @NotNull SQLManager getManager(); + /** + * 得到承载该Builder的对应{@link SQLManager} + * + * @return {@link SQLManager} + */ + @NotNull SQLManager getManager(); + + + static @NotNull String withBackQuote(@NotNull String str) { + str = str.trim(); + return str.startsWith("`") && str.endsWith("`") ? str : "`" + str + "`"; + } + + static @NotNull String withQuote(@NotNull String str) { + str = str.trim(); + return str.startsWith("'") && str.endsWith("'") ? str : "'" + str + "'"; + } } diff --git a/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/TableCreateBuilder.java b/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/TableCreateBuilder.java index 930153c..bbad0c6 100644 --- a/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/TableCreateBuilder.java +++ b/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/TableCreateBuilder.java @@ -8,6 +8,10 @@ import cc.carm.lib.easysql.api.enums.NumberType; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote; +import static cc.carm.lib.easysql.api.SQLBuilder.withQuote; + + public interface TableCreateBuilder extends SQLBuilder { /** @@ -63,7 +67,7 @@ public interface TableCreateBuilder extends SQLBuilder { * @return {@link TableCreateBuilder} */ default TableCreateBuilder addColumn(@NotNull String columnName, @NotNull String settings) { - return addColumn("`" + columnName + "` " + settings); + return addColumn(withBackQuote(columnName) + " " + settings); } /** @@ -76,7 +80,7 @@ public interface TableCreateBuilder extends SQLBuilder { * @return {@link TableCreateBuilder} */ default TableCreateBuilder addColumn(@NotNull String columnName, @NotNull String settings, @NotNull String comments) { - return addColumn(columnName, settings + " COMMENT '" + comments + "'"); + return addColumn(columnName, settings + " COMMENT " + withQuote(comments)); } /** @@ -91,7 +95,7 @@ public interface TableCreateBuilder extends SQLBuilder { * @return {@link TableCreateBuilder} */ TableCreateBuilder addAutoIncrementColumn(@NotNull String columnName, @Nullable NumberType numberType, - boolean asPrimaryKey, boolean unsigned); + boolean asPrimaryKey, boolean unsigned); /** * 为该表添加一个INT类型的自增主键列 @@ -104,7 +108,7 @@ public interface TableCreateBuilder extends SQLBuilder { * @return {@link TableCreateBuilder} */ default TableCreateBuilder addAutoIncrementColumn(@NotNull String columnName, - boolean asPrimaryKey, boolean unsigned) { + boolean asPrimaryKey, boolean unsigned) { return addAutoIncrementColumn(columnName, NumberType.INT, asPrimaryKey, unsigned); } @@ -146,7 +150,7 @@ public interface TableCreateBuilder extends SQLBuilder { * @return {@link TableCreateBuilder} */ default TableCreateBuilder setIndex(@NotNull String columnName, - @NotNull IndexType type) { + @NotNull IndexType type) { return setIndex(type, null, columnName); } @@ -164,7 +168,7 @@ public interface TableCreateBuilder extends SQLBuilder { * @return {@link TableCreateBuilder} */ TableCreateBuilder setIndex(@NotNull IndexType type, @Nullable String indexName, - @NotNull String columnName, @NotNull String... moreColumns); + @NotNull String columnName, @NotNull String... moreColumns); /** @@ -197,7 +201,7 @@ public interface TableCreateBuilder extends SQLBuilder { * @return {@link TableCreateBuilder} */ default TableCreateBuilder addForeignKey(@NotNull String tableColumn, - @NotNull String foreignTable, @NotNull String foreignColumn) { + @NotNull String foreignTable, @NotNull String foreignColumn) { return addForeignKey(tableColumn, null, foreignTable, foreignColumn); } @@ -217,7 +221,7 @@ public interface TableCreateBuilder extends SQLBuilder { * @return {@link TableCreateBuilder} */ default TableCreateBuilder addForeignKey(@NotNull String tableColumn, @Nullable String constraintName, - @NotNull String foreignTable, @NotNull String foreignColumn) { + @NotNull String foreignTable, @NotNull String foreignColumn) { return addForeignKey(tableColumn, constraintName, foreignTable, foreignColumn, null, null); } @@ -239,8 +243,8 @@ public interface TableCreateBuilder extends SQLBuilder { * @return {@link TableCreateBuilder} */ TableCreateBuilder addForeignKey(@NotNull String tableColumn, @Nullable String constraintName, - @NotNull String foreignTable, @NotNull String foreignColumn, - @Nullable ForeignKeyRule updateRule, @Nullable ForeignKeyRule deleteRule); + @NotNull String foreignTable, @NotNull String foreignColumn, + @Nullable ForeignKeyRule updateRule, @Nullable ForeignKeyRule deleteRule); default String defaultTablesSettings() { return "ENGINE=InnoDB DEFAULT CHARSET=utf8"; diff --git a/easysql-impl/pom.xml b/easysql-impl/pom.xml index 73b52da..af16f6e 100644 --- a/easysql-impl/pom.xml +++ b/easysql-impl/pom.xml @@ -5,7 +5,7 @@ easysql-parent cc.carm.lib - 0.3.3 + 0.3.4 4.0.0 diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/action/AbstractSQLAction.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/action/AbstractSQLAction.java index 2b07334..ad1830f 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/action/AbstractSQLAction.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/action/AbstractSQLAction.java @@ -65,7 +65,7 @@ public abstract class AbstractSQLAction implements SQLAction { } protected void outputDebugMessage() { - getManager().debug("#" + getShortID() + " -> { " + getSQLContent() + " }"); + getManager().debug("# " + getShortID() + " -> { " + getSQLContent() + " }"); } @Override diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/action/SQLUpdateBatchActionImpl.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/action/SQLUpdateBatchActionImpl.java index 2ab651c..ca7aafd 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/action/SQLUpdateBatchActionImpl.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/action/SQLUpdateBatchActionImpl.java @@ -55,9 +55,9 @@ public class SQLUpdateBatchActionImpl @Override protected void outputDebugMessage() { - getManager().debug("#" + getShortID() + " -> {"); - for (String content : getSQLContents()) getManager().debug(" " + content); - getManager().debug("}"); + getManager().debug("# " + getShortID() + " -> ["); + for (String content : getSQLContents()) getManager().debug(" { " + content + " }"); + getManager().debug("]"); } diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/AbstractConditionalBuilder.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/AbstractConditionalBuilder.java index 7aa552c..a00b3bc 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/AbstractConditionalBuilder.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/AbstractConditionalBuilder.java @@ -14,6 +14,8 @@ import java.util.Date; import java.util.Iterator; import java.util.LinkedHashMap; +import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote; + public abstract class AbstractConditionalBuilder, T extends SQLAction> extends AbstractSQLBuilder implements ConditionalBuilder { @@ -53,7 +55,7 @@ public abstract class AbstractConditionalBuilder> implements DeleteBuilder { @@ -23,7 +25,7 @@ public class DeleteBuilderImpl StringBuilder sqlBuilder = new StringBuilder(); - sqlBuilder.append("DELETE FROM `").append(getTableName()).append("`"); + sqlBuilder.append("DELETE FROM ").append(withBackQuote(getTableName())); if (hasConditions()) sqlBuilder.append(" ").append(buildConditionSQL()); if (limit > 0) sqlBuilder.append(" ").append(buildLimitSQL()); diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/InsertBuilderImpl.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/InsertBuilderImpl.java index 6f261da..1688f23 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/InsertBuilderImpl.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/InsertBuilderImpl.java @@ -9,6 +9,8 @@ import org.jetbrains.annotations.NotNull; import java.util.Iterator; import java.util.List; +import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote; + public abstract class InsertBuilderImpl> extends AbstractSQLBuilder implements InsertBuilder { @@ -23,10 +25,10 @@ public abstract class InsertBuilderImpl> int valueLength = columnNames.size(); StringBuilder sqlBuilder = new StringBuilder(); - sqlBuilder.append("INSERT IGNORE INTO `").append(tableName).append("`("); + sqlBuilder.append("INSERT IGNORE INTO ").append(withBackQuote(tableName)).append("("); Iterator iterator = columnNames.iterator(); while (iterator.hasNext()) { - sqlBuilder.append("`").append(iterator.next()).append("`"); + sqlBuilder.append(withBackQuote(iterator.next())); if (iterator.hasNext()) sqlBuilder.append(", "); } diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/ReplaceBuilderImpl.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/ReplaceBuilderImpl.java index e2a700f..ec9d885 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/ReplaceBuilderImpl.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/ReplaceBuilderImpl.java @@ -9,6 +9,8 @@ import org.jetbrains.annotations.NotNull; import java.util.Iterator; import java.util.List; +import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote; + public abstract class ReplaceBuilderImpl> extends AbstractSQLBuilder implements ReplaceBuilder { @@ -23,10 +25,10 @@ public abstract class ReplaceBuilderImpl> int valueLength = columnNames.size(); StringBuilder sqlBuilder = new StringBuilder(); - sqlBuilder.append("REPLACE INTO `").append(tableName).append("`("); + sqlBuilder.append("REPLACE INTO ").append(withBackQuote(tableName)).append("("); Iterator iterator = columnNames.iterator(); while (iterator.hasNext()) { - sqlBuilder.append("`").append(iterator.next()).append("`"); + sqlBuilder.append(withBackQuote(iterator.next())); if (iterator.hasNext()) sqlBuilder.append(", "); } diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableAlterBuilderImpl.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableAlterBuilderImpl.java index 5bba24c..0e9c3aa 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableAlterBuilderImpl.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableAlterBuilderImpl.java @@ -9,6 +9,9 @@ import cc.carm.lib.easysql.manager.SQLManagerImpl; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote; +import static cc.carm.lib.easysql.api.SQLBuilder.withQuote; + public class TableAlterBuilderImpl extends AbstractSQLBuilder implements TableAlterBuilder { protected final @NotNull String tableName; @@ -25,28 +28,28 @@ public class TableAlterBuilderImpl extends AbstractSQLBuilder implements TableAl @Override public SQLAction renameTo(@NotNull String newTableName) { return new SQLUpdateActionImpl(getManager(), - "ALTER TABLE `" + getTableName() + "` RENAME TO `" + newTableName + "`" + "ALTER TABLE " + withBackQuote(getTableName()) + " RENAME TO " + withBackQuote(newTableName) + "" ); } @Override public SQLAction changeComment(@NotNull String newTableComment) { return new SQLUpdateActionImpl(getManager(), - "ALTER TABLE `" + getTableName() + "` COMMENT '" + newTableComment + "'" + "ALTER TABLE " + withBackQuote(getTableName()) + " COMMENT " + withQuote(newTableComment) ); } @Override public SQLAction setAutoIncrementIndex(int index) { return new SQLUpdateActionImpl(getManager(), - "ALTER TABLE `" + getTableName() + "` AUTO_INCREMENT=" + index + "ALTER TABLE " + withBackQuote(getTableName()) + " AUTO_INCREMENT=" + index ); } @Override public SQLAction addIndex(@NotNull IndexType indexType, @NotNull String indexName, @NotNull String columnName, @NotNull String... moreColumns) { return createAction( - "ALTER TABLE `" + getTableName() + "` ADD " + "ALTER TABLE " + withBackQuote(getTableName()) + " ADD " + TableCreateBuilderImpl.buildIndexSettings(indexType, indexName, columnName, moreColumns) ); } @@ -54,21 +57,21 @@ public class TableAlterBuilderImpl extends AbstractSQLBuilder implements TableAl @Override public SQLAction dropIndex(@NotNull String indexName) { return createAction( - "ALTER TABLE `" + getTableName() + "` DROP INDEX `" + indexName + "`" + "ALTER TABLE " + withBackQuote(getTableName()) + " DROP INDEX " + withBackQuote(indexName) ); } @Override public SQLAction dropForeignKey(@NotNull String keySymbol) { return createAction( - "ALTER TABLE `" + getTableName() + "` DROP FOREIGN KEY `" + keySymbol + "`" + "ALTER TABLE " + withBackQuote(getTableName()) + " DROP FOREIGN KEY " + withBackQuote(keySymbol) ); } @Override public SQLAction dropPrimaryKey() { return createAction( - "ALTER TABLE `" + getTableName() + "` DROP PRIMARY KEY" + "ALTER TABLE " + withBackQuote(getTableName()) + " DROP PRIMARY KEY" ); } @@ -77,14 +80,14 @@ public class TableAlterBuilderImpl extends AbstractSQLBuilder implements TableAl String orderSettings = null; if (afterColumn != null) { if (afterColumn.length() > 0) { - orderSettings = "AFTER `" + afterColumn + "`"; + orderSettings = "AFTER " + withBackQuote(afterColumn); } else { orderSettings = "FIRST"; } } return createAction( - "ALTER TABLE `" + getTableName() + "` ADD `" + columnName + "` " + settings + "ALTER TABLE " + withBackQuote(getTableName()) + " ADD " + withBackQuote(columnName) + " " + settings + (orderSettings != null ? " " + orderSettings : "") ); } @@ -92,35 +95,35 @@ public class TableAlterBuilderImpl extends AbstractSQLBuilder implements TableAl @Override public SQLAction renameColumn(@NotNull String columnName, @NotNull String newName) { return createAction( - "ALTER TABLE `" + getTableName() + "` RENAME COLUMN `" + columnName + "` TO `" + newName + "`" + "ALTER TABLE " + withBackQuote(getTableName()) + " RENAME COLUMN " + withBackQuote(columnName) + " TO " + withBackQuote(newName) ); } @Override public SQLAction modifyColumn(@NotNull String columnName, @NotNull String settings) { return createAction( - "ALTER TABLE `" + getTableName() + "` MODIFY COLUMN `" + columnName + "` " + settings + "ALTER TABLE " + withBackQuote(getTableName()) + " MODIFY COLUMN " + withBackQuote(columnName) + " " + settings ); } @Override public SQLAction removeColumn(@NotNull String columnName) { return createAction( - "ALTER TABLE `" + getTableName() + "` DROP `" + columnName + "`" + "ALTER TABLE " + withBackQuote(getTableName()) + " DROP " + withBackQuote(columnName) ); } @Override public SQLAction setColumnDefault(@NotNull String columnName, @NotNull String defaultValue) { return createAction( - "ALTER TABLE `" + getTableName() + "` ALTER `" + columnName + "` SET DEFAULT " + defaultValue + "ALTER TABLE " + withBackQuote(getTableName()) + " ALTER " + withBackQuote(columnName) + " SET DEFAULT " + defaultValue ); } @Override public SQLAction removeColumnDefault(@NotNull String columnName) { return createAction( - "ALTER TABLE `" + getTableName() + "` ALTER `" + columnName + "` DROP DEFAULT" + "ALTER TABLE " + withBackQuote(getTableName()) + " ALTER " + withBackQuote(columnName) + " DROP DEFAULT" ); } diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableCreateBuilderImpl.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableCreateBuilderImpl.java index 95da744..ad9b489 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableCreateBuilderImpl.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableCreateBuilderImpl.java @@ -15,6 +15,9 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote; +import static cc.carm.lib.easysql.api.SQLBuilder.withQuote; + public class TableCreateBuilderImpl extends AbstractSQLBuilder implements TableCreateBuilder { protected final @NotNull String tableName; @@ -44,7 +47,7 @@ public class TableCreateBuilderImpl extends AbstractSQLBuilder implements TableC @Override public SQLUpdateAction build() { StringBuilder createSQL = new StringBuilder(); - createSQL.append("CREATE TABLE IF NOT EXISTS `").append(tableName).append("`"); + createSQL.append("CREATE TABLE IF NOT EXISTS ").append(withBackQuote(tableName)); createSQL.append("("); createSQL.append(String.join(", ", columns)); if (indexes.size() > 0) { @@ -58,7 +61,7 @@ public class TableCreateBuilderImpl extends AbstractSQLBuilder implements TableC createSQL.append(") ").append(getTableSettings()); if (tableComment != null) { - createSQL.append(" COMMENT '").append(tableComment).append("'"); + createSQL.append(" COMMENT ").append(withQuote(tableComment)); } return new SQLUpdateActionImpl(getManager(), createSQL.toString()); @@ -72,7 +75,7 @@ public class TableCreateBuilderImpl extends AbstractSQLBuilder implements TableC @Override public TableCreateBuilder addAutoIncrementColumn(@NotNull String columnName, @Nullable NumberType numberType, - boolean asPrimaryKey, boolean unsigned) { + boolean asPrimaryKey, boolean unsigned) { return addColumn(columnName, (numberType == null ? NumberType.INT : numberType).name() + (unsigned ? " UNSIGNED " : " ") @@ -82,26 +85,26 @@ public class TableCreateBuilderImpl extends AbstractSQLBuilder implements TableC @Override public TableCreateBuilder setIndex(@NotNull IndexType type, @Nullable String indexName, - @NotNull String columnName, @NotNull String... moreColumns) { + @NotNull String columnName, @NotNull String... moreColumns) { this.indexes.add(buildIndexSettings(type, indexName, columnName, moreColumns)); return this; } @Override public TableCreateBuilder addForeignKey(@NotNull String tableColumn, @Nullable String constraintName, - @NotNull String foreignTable, @NotNull String foreignColumn, - @Nullable ForeignKeyRule updateRule, @Nullable ForeignKeyRule deleteRule) { + @NotNull String foreignTable, @NotNull String foreignColumn, + @Nullable ForeignKeyRule updateRule, @Nullable ForeignKeyRule deleteRule) { StringBuilder keyBuilder = new StringBuilder(); keyBuilder.append("CONSTRAINT "); if (constraintName == null) { - keyBuilder.append("`").append("fk_").append(tableColumn).append("_").append(foreignTable).append("`"); + keyBuilder.append(withBackQuote("fk_" + tableColumn + "_" + foreignTable)); } else { - keyBuilder.append("`").append(constraintName).append("`"); + keyBuilder.append(withBackQuote(constraintName)); } keyBuilder.append(" "); - keyBuilder.append("FOREIGN KEY (`").append(tableColumn).append("`) "); - keyBuilder.append("REFERENCES `").append(foreignTable).append("`(`").append(foreignColumn).append("`)"); + keyBuilder.append("FOREIGN KEY (").append(withBackQuote(tableColumn)).append(") "); + keyBuilder.append("REFERENCES ").append(withBackQuote(foreignTable)).append("(").append(withBackQuote(foreignColumn)).append(")"); if (updateRule != null) keyBuilder.append(" ON UPDATE ").append(updateRule.getRuleName()); if (deleteRule != null) keyBuilder.append(" ON DELETE ").append(deleteRule.getRuleName()); @@ -129,16 +132,16 @@ public class TableCreateBuilderImpl extends AbstractSQLBuilder implements TableC } protected static String buildIndexSettings(@NotNull IndexType indexType, @Nullable String indexName, - @NotNull String columnName, @NotNull String... moreColumns) { + @NotNull String columnName, @NotNull String... moreColumns) { StringBuilder indexBuilder = new StringBuilder(); indexBuilder.append(indexType.getName()).append(" "); if (indexName != null) { - indexBuilder.append("`").append(indexName).append("`"); + indexBuilder.append(withBackQuote(indexName)); } indexBuilder.append("("); - indexBuilder.append("`").append(columnName).append("`"); + indexBuilder.append(withBackQuote(columnName)); if (moreColumns.length > 0) { indexBuilder.append(", "); diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableQueryBuilderImpl.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableQueryBuilderImpl.java index f01f199..b23d811 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableQueryBuilderImpl.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableQueryBuilderImpl.java @@ -7,6 +7,8 @@ import cc.carm.lib.easysql.manager.SQLManagerImpl; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote; + public class TableQueryBuilderImpl extends AbstractConditionalBuilder implements TableQueryBuilder { @@ -33,15 +35,14 @@ public class TableQueryBuilderImpl } else { for (int i = 0; i < columns.length; i++) { String name = columns[i]; - sqlBuilder.append("`").append(name).append("`"); + sqlBuilder.append(withBackQuote(name)); if (i != columns.length - 1) { sqlBuilder.append(","); } } } - sqlBuilder.append(" ").append("FROM").append(" "); - sqlBuilder.append("`").append(tableName).append("`"); + sqlBuilder.append(" ").append("FROM").append(" ").append(withBackQuote(tableName)); if (hasConditions()) sqlBuilder.append(" ").append(buildConditionSQL()); @@ -71,7 +72,7 @@ public class TableQueryBuilderImpl @Override public TableQueryBuilder orderBy(@NotNull String columnName, boolean asc) { - this.orderBy = "ORDER BY `" + columnName + "` " + (asc ? "ASC" : "DESC"); + this.orderBy = "ORDER BY " + withBackQuote(columnName) + " " + (asc ? "ASC" : "DESC"); return this; } diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/UpdateBuilderImpl.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/UpdateBuilderImpl.java index f9ce278..e06f260 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/UpdateBuilderImpl.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/UpdateBuilderImpl.java @@ -9,6 +9,8 @@ import org.jetbrains.annotations.NotNull; import java.util.*; +import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote; + public class UpdateBuilderImpl extends AbstractConditionalBuilder> implements UpdateBuilder { @@ -28,11 +30,11 @@ public class UpdateBuilderImpl StringBuilder sqlBuilder = new StringBuilder(); - sqlBuilder.append("UPDATE `").append(getTableName()).append("` SET "); + sqlBuilder.append("UPDATE ").append(withBackQuote(getTableName())).append(" SET "); Iterator iterator = this.columnNames.iterator(); while (iterator.hasNext()) { - sqlBuilder.append("`").append(iterator.next()).append("` = ?"); + sqlBuilder.append(withBackQuote(iterator.next())).append(" = ?"); if (iterator.hasNext()) sqlBuilder.append(" , "); } List allParams = new ArrayList<>(this.columnValues); diff --git a/example/easysql-demo/pom.xml b/example/easysql-demo/pom.xml index 25fc2c2..dfd215c 100644 --- a/example/easysql-demo/pom.xml +++ b/example/easysql-demo/pom.xml @@ -5,7 +5,7 @@ easysql-parent cc.carm.lib - 0.3.3 + 0.3.4 ../../pom.xml 4.0.0 diff --git a/example/easysql-test/pom.xml b/example/easysql-test/pom.xml index 60c5e7b..083059c 100644 --- a/example/easysql-test/pom.xml +++ b/example/easysql-test/pom.xml @@ -5,7 +5,7 @@ easysql-parent cc.carm.lib - 0.3.3 + 0.3.4 ../../pom.xml 4.0.0 diff --git a/pom.xml b/pom.xml index 49e0712..741535a 100644 --- a/pom.xml +++ b/pom.xml @@ -16,7 +16,7 @@ cc.carm.lib easysql-parent pom - 0.3.3 + 0.3.4 easysql-api diff --git a/with-pool/easysql-beecp/pom.xml b/with-pool/easysql-beecp/pom.xml index 8daf72e..10db027 100644 --- a/with-pool/easysql-beecp/pom.xml +++ b/with-pool/easysql-beecp/pom.xml @@ -5,7 +5,7 @@ easysql-parent cc.carm.lib - 0.3.3 + 0.3.4 ../../pom.xml 4.0.0 diff --git a/with-pool/easysql-hikaricp/pom.xml b/with-pool/easysql-hikaricp/pom.xml index bf7b6f0..ce114d2 100644 --- a/with-pool/easysql-hikaricp/pom.xml +++ b/with-pool/easysql-hikaricp/pom.xml @@ -5,7 +5,7 @@ easysql-parent cc.carm.lib - 0.3.3 + 0.3.4 ../../pom.xml 4.0.0