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