mirror of
https://github.com/CarmJos/EasySQL.git
synced 2024-09-19 21:35:47 +00:00
[0.3.4] 对参数判断是否已加引号或反引号
This commit is contained in:
parent
5e7519dc7a
commit
7acc2849ae
@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<artifactId>easysql-parent</artifactId>
|
<artifactId>easysql-parent</artifactId>
|
||||||
<version>0.3.3</version>
|
<version>0.3.4</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
@ -18,4 +18,15 @@ public interface SQLBuilder {
|
|||||||
*/
|
*/
|
||||||
@NotNull SQLManager getManager();
|
@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 + "'";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,10 @@ import cc.carm.lib.easysql.api.enums.NumberType;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
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 {
|
public interface TableCreateBuilder extends SQLBuilder {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -63,7 +67,7 @@ public interface TableCreateBuilder extends SQLBuilder {
|
|||||||
* @return {@link TableCreateBuilder}
|
* @return {@link TableCreateBuilder}
|
||||||
*/
|
*/
|
||||||
default TableCreateBuilder addColumn(@NotNull String columnName, @NotNull String settings) {
|
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}
|
* @return {@link TableCreateBuilder}
|
||||||
*/
|
*/
|
||||||
default TableCreateBuilder addColumn(@NotNull String columnName, @NotNull String settings, @NotNull String comments) {
|
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));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>easysql-parent</artifactId>
|
<artifactId>easysql-parent</artifactId>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<version>0.3.3</version>
|
<version>0.3.4</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ public abstract class AbstractSQLAction<T> implements SQLAction<T> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void outputDebugMessage() {
|
protected void outputDebugMessage() {
|
||||||
getManager().debug("#" + getShortID() + " -> { " + getSQLContent() + " }");
|
getManager().debug("# " + getShortID() + " -> { " + getSQLContent() + " }");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -55,9 +55,9 @@ public class SQLUpdateBatchActionImpl
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void outputDebugMessage() {
|
protected void outputDebugMessage() {
|
||||||
getManager().debug("#" + getShortID() + " -> {");
|
getManager().debug("# " + getShortID() + " -> [");
|
||||||
for (String content : getSQLContents()) getManager().debug(" " + content);
|
for (String content : getSQLContents()) getManager().debug(" { " + content + " }");
|
||||||
getManager().debug("}");
|
getManager().debug("]");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,6 +14,8 @@ import java.util.Date;
|
|||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
|
||||||
|
import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote;
|
||||||
|
|
||||||
public abstract class AbstractConditionalBuilder<B extends ConditionalBuilder<B, T>, T extends SQLAction<?>>
|
public abstract class AbstractConditionalBuilder<B extends ConditionalBuilder<B, T>, T extends SQLAction<?>>
|
||||||
extends AbstractSQLBuilder implements ConditionalBuilder<B, T> {
|
extends AbstractSQLBuilder implements ConditionalBuilder<B, T> {
|
||||||
|
|
||||||
@ -53,7 +55,7 @@ public abstract class AbstractConditionalBuilder<B extends ConditionalBuilder<B,
|
|||||||
public B addCondition(
|
public B addCondition(
|
||||||
@NotNull String queryName, @NotNull String operator, @Nullable Object queryValue
|
@NotNull String queryName, @NotNull String operator, @Nullable Object queryValue
|
||||||
) {
|
) {
|
||||||
addCondition("`" + queryName + "` " + operator + " ?");
|
addCondition(withBackQuote(queryName) + " " + operator + " ?");
|
||||||
this.conditionParams.add(queryValue);
|
this.conditionParams.add(queryValue);
|
||||||
return getThis();
|
return getThis();
|
||||||
}
|
}
|
||||||
@ -74,7 +76,7 @@ public abstract class AbstractConditionalBuilder<B extends ConditionalBuilder<B,
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public B addNotNullCondition(@NotNull String queryName) {
|
public B addNotNullCondition(@NotNull String queryName) {
|
||||||
return addCondition("`" + queryName + "` IS NOT NULL");
|
return addCondition(withBackQuote(queryName) + " IS NOT NULL");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -84,7 +86,7 @@ public abstract class AbstractConditionalBuilder<B extends ConditionalBuilder<B,
|
|||||||
) {
|
) {
|
||||||
if (startDate == null && endDate == null) return getThis(); // 都不限定时间,不用判断了
|
if (startDate == null && endDate == null) return getThis(); // 都不限定时间,不用判断了
|
||||||
if (startDate != null) {
|
if (startDate != null) {
|
||||||
addCondition("`" + queryName + "` BETWEEN ? AND ?");
|
addCondition(withBackQuote(queryName) + " BETWEEN ? AND ?");
|
||||||
this.conditionParams.add(startDate);
|
this.conditionParams.add(startDate);
|
||||||
if (endDate != null) {
|
if (endDate != null) {
|
||||||
this.conditionParams.add(endDate);
|
this.conditionParams.add(endDate);
|
||||||
|
@ -7,6 +7,8 @@ import cc.carm.lib.easysql.api.builder.DeleteBuilder;
|
|||||||
import cc.carm.lib.easysql.manager.SQLManagerImpl;
|
import cc.carm.lib.easysql.manager.SQLManagerImpl;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote;
|
||||||
|
|
||||||
public class DeleteBuilderImpl
|
public class DeleteBuilderImpl
|
||||||
extends AbstractConditionalBuilder<DeleteBuilder, SQLAction<Integer>>
|
extends AbstractConditionalBuilder<DeleteBuilder, SQLAction<Integer>>
|
||||||
implements DeleteBuilder {
|
implements DeleteBuilder {
|
||||||
@ -23,7 +25,7 @@ public class DeleteBuilderImpl
|
|||||||
|
|
||||||
StringBuilder sqlBuilder = new StringBuilder();
|
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 (hasConditions()) sqlBuilder.append(" ").append(buildConditionSQL());
|
||||||
if (limit > 0) sqlBuilder.append(" ").append(buildLimitSQL());
|
if (limit > 0) sqlBuilder.append(" ").append(buildLimitSQL());
|
||||||
|
@ -9,6 +9,8 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote;
|
||||||
|
|
||||||
public abstract class InsertBuilderImpl<T extends SQLAction<?>>
|
public abstract class InsertBuilderImpl<T extends SQLAction<?>>
|
||||||
extends AbstractSQLBuilder implements InsertBuilder<T> {
|
extends AbstractSQLBuilder implements InsertBuilder<T> {
|
||||||
|
|
||||||
@ -23,10 +25,10 @@ public abstract class InsertBuilderImpl<T extends SQLAction<?>>
|
|||||||
int valueLength = columnNames.size();
|
int valueLength = columnNames.size();
|
||||||
StringBuilder sqlBuilder = new StringBuilder();
|
StringBuilder sqlBuilder = new StringBuilder();
|
||||||
|
|
||||||
sqlBuilder.append("INSERT IGNORE INTO `").append(tableName).append("`(");
|
sqlBuilder.append("INSERT IGNORE INTO ").append(withBackQuote(tableName)).append("(");
|
||||||
Iterator<String> iterator = columnNames.iterator();
|
Iterator<String> iterator = columnNames.iterator();
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
sqlBuilder.append("`").append(iterator.next()).append("`");
|
sqlBuilder.append(withBackQuote(iterator.next()));
|
||||||
if (iterator.hasNext()) sqlBuilder.append(", ");
|
if (iterator.hasNext()) sqlBuilder.append(", ");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,6 +9,8 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote;
|
||||||
|
|
||||||
public abstract class ReplaceBuilderImpl<T extends SQLAction<?>>
|
public abstract class ReplaceBuilderImpl<T extends SQLAction<?>>
|
||||||
extends AbstractSQLBuilder implements ReplaceBuilder<T> {
|
extends AbstractSQLBuilder implements ReplaceBuilder<T> {
|
||||||
|
|
||||||
@ -23,10 +25,10 @@ public abstract class ReplaceBuilderImpl<T extends SQLAction<?>>
|
|||||||
int valueLength = columnNames.size();
|
int valueLength = columnNames.size();
|
||||||
StringBuilder sqlBuilder = new StringBuilder();
|
StringBuilder sqlBuilder = new StringBuilder();
|
||||||
|
|
||||||
sqlBuilder.append("REPLACE INTO `").append(tableName).append("`(");
|
sqlBuilder.append("REPLACE INTO ").append(withBackQuote(tableName)).append("(");
|
||||||
Iterator<String> iterator = columnNames.iterator();
|
Iterator<String> iterator = columnNames.iterator();
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
sqlBuilder.append("`").append(iterator.next()).append("`");
|
sqlBuilder.append(withBackQuote(iterator.next()));
|
||||||
if (iterator.hasNext()) sqlBuilder.append(", ");
|
if (iterator.hasNext()) sqlBuilder.append(", ");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,6 +9,9 @@ import cc.carm.lib.easysql.manager.SQLManagerImpl;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
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 {
|
public class TableAlterBuilderImpl extends AbstractSQLBuilder implements TableAlterBuilder {
|
||||||
|
|
||||||
protected final @NotNull String tableName;
|
protected final @NotNull String tableName;
|
||||||
@ -25,28 +28,28 @@ public class TableAlterBuilderImpl extends AbstractSQLBuilder implements TableAl
|
|||||||
@Override
|
@Override
|
||||||
public SQLAction<Integer> renameTo(@NotNull String newTableName) {
|
public SQLAction<Integer> renameTo(@NotNull String newTableName) {
|
||||||
return new SQLUpdateActionImpl(getManager(),
|
return new SQLUpdateActionImpl(getManager(),
|
||||||
"ALTER TABLE `" + getTableName() + "` RENAME TO `" + newTableName + "`"
|
"ALTER TABLE " + withBackQuote(getTableName()) + " RENAME TO " + withBackQuote(newTableName) + ""
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SQLAction<Integer> changeComment(@NotNull String newTableComment) {
|
public SQLAction<Integer> changeComment(@NotNull String newTableComment) {
|
||||||
return new SQLUpdateActionImpl(getManager(),
|
return new SQLUpdateActionImpl(getManager(),
|
||||||
"ALTER TABLE `" + getTableName() + "` COMMENT '" + newTableComment + "'"
|
"ALTER TABLE " + withBackQuote(getTableName()) + " COMMENT " + withQuote(newTableComment)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SQLAction<Integer> setAutoIncrementIndex(int index) {
|
public SQLAction<Integer> setAutoIncrementIndex(int index) {
|
||||||
return new SQLUpdateActionImpl(getManager(),
|
return new SQLUpdateActionImpl(getManager(),
|
||||||
"ALTER TABLE `" + getTableName() + "` AUTO_INCREMENT=" + index
|
"ALTER TABLE " + withBackQuote(getTableName()) + " AUTO_INCREMENT=" + index
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SQLAction<Integer> addIndex(@NotNull IndexType indexType, @NotNull String indexName, @NotNull String columnName, @NotNull String... moreColumns) {
|
public SQLAction<Integer> addIndex(@NotNull IndexType indexType, @NotNull String indexName, @NotNull String columnName, @NotNull String... moreColumns) {
|
||||||
return createAction(
|
return createAction(
|
||||||
"ALTER TABLE `" + getTableName() + "` ADD "
|
"ALTER TABLE " + withBackQuote(getTableName()) + " ADD "
|
||||||
+ TableCreateBuilderImpl.buildIndexSettings(indexType, indexName, columnName, moreColumns)
|
+ TableCreateBuilderImpl.buildIndexSettings(indexType, indexName, columnName, moreColumns)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -54,21 +57,21 @@ public class TableAlterBuilderImpl extends AbstractSQLBuilder implements TableAl
|
|||||||
@Override
|
@Override
|
||||||
public SQLAction<Integer> dropIndex(@NotNull String indexName) {
|
public SQLAction<Integer> dropIndex(@NotNull String indexName) {
|
||||||
return createAction(
|
return createAction(
|
||||||
"ALTER TABLE `" + getTableName() + "` DROP INDEX `" + indexName + "`"
|
"ALTER TABLE " + withBackQuote(getTableName()) + " DROP INDEX " + withBackQuote(indexName)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SQLAction<Integer> dropForeignKey(@NotNull String keySymbol) {
|
public SQLAction<Integer> dropForeignKey(@NotNull String keySymbol) {
|
||||||
return createAction(
|
return createAction(
|
||||||
"ALTER TABLE `" + getTableName() + "` DROP FOREIGN KEY `" + keySymbol + "`"
|
"ALTER TABLE " + withBackQuote(getTableName()) + " DROP FOREIGN KEY " + withBackQuote(keySymbol)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SQLAction<Integer> dropPrimaryKey() {
|
public SQLAction<Integer> dropPrimaryKey() {
|
||||||
return createAction(
|
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;
|
String orderSettings = null;
|
||||||
if (afterColumn != null) {
|
if (afterColumn != null) {
|
||||||
if (afterColumn.length() > 0) {
|
if (afterColumn.length() > 0) {
|
||||||
orderSettings = "AFTER `" + afterColumn + "`";
|
orderSettings = "AFTER " + withBackQuote(afterColumn);
|
||||||
} else {
|
} else {
|
||||||
orderSettings = "FIRST";
|
orderSettings = "FIRST";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return createAction(
|
return createAction(
|
||||||
"ALTER TABLE `" + getTableName() + "` ADD `" + columnName + "` " + settings
|
"ALTER TABLE " + withBackQuote(getTableName()) + " ADD " + withBackQuote(columnName) + " " + settings
|
||||||
+ (orderSettings != null ? " " + orderSettings : "")
|
+ (orderSettings != null ? " " + orderSettings : "")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -92,35 +95,35 @@ public class TableAlterBuilderImpl extends AbstractSQLBuilder implements TableAl
|
|||||||
@Override
|
@Override
|
||||||
public SQLAction<Integer> renameColumn(@NotNull String columnName, @NotNull String newName) {
|
public SQLAction<Integer> renameColumn(@NotNull String columnName, @NotNull String newName) {
|
||||||
return createAction(
|
return createAction(
|
||||||
"ALTER TABLE `" + getTableName() + "` RENAME COLUMN `" + columnName + "` TO `" + newName + "`"
|
"ALTER TABLE " + withBackQuote(getTableName()) + " RENAME COLUMN " + withBackQuote(columnName) + " TO " + withBackQuote(newName)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SQLAction<Integer> modifyColumn(@NotNull String columnName, @NotNull String settings) {
|
public SQLAction<Integer> modifyColumn(@NotNull String columnName, @NotNull String settings) {
|
||||||
return createAction(
|
return createAction(
|
||||||
"ALTER TABLE `" + getTableName() + "` MODIFY COLUMN `" + columnName + "` " + settings
|
"ALTER TABLE " + withBackQuote(getTableName()) + " MODIFY COLUMN " + withBackQuote(columnName) + " " + settings
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SQLAction<Integer> removeColumn(@NotNull String columnName) {
|
public SQLAction<Integer> removeColumn(@NotNull String columnName) {
|
||||||
return createAction(
|
return createAction(
|
||||||
"ALTER TABLE `" + getTableName() + "` DROP `" + columnName + "`"
|
"ALTER TABLE " + withBackQuote(getTableName()) + " DROP " + withBackQuote(columnName)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SQLAction<Integer> setColumnDefault(@NotNull String columnName, @NotNull String defaultValue) {
|
public SQLAction<Integer> setColumnDefault(@NotNull String columnName, @NotNull String defaultValue) {
|
||||||
return createAction(
|
return createAction(
|
||||||
"ALTER TABLE `" + getTableName() + "` ALTER `" + columnName + "` SET DEFAULT " + defaultValue
|
"ALTER TABLE " + withBackQuote(getTableName()) + " ALTER " + withBackQuote(columnName) + " SET DEFAULT " + defaultValue
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SQLAction<Integer> removeColumnDefault(@NotNull String columnName) {
|
public SQLAction<Integer> removeColumnDefault(@NotNull String columnName) {
|
||||||
return createAction(
|
return createAction(
|
||||||
"ALTER TABLE `" + getTableName() + "` ALTER `" + columnName + "` DROP DEFAULT"
|
"ALTER TABLE " + withBackQuote(getTableName()) + " ALTER " + withBackQuote(columnName) + " DROP DEFAULT"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,6 +15,9 @@ import java.util.ArrayList;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
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 {
|
public class TableCreateBuilderImpl extends AbstractSQLBuilder implements TableCreateBuilder {
|
||||||
|
|
||||||
protected final @NotNull String tableName;
|
protected final @NotNull String tableName;
|
||||||
@ -44,7 +47,7 @@ public class TableCreateBuilderImpl extends AbstractSQLBuilder implements TableC
|
|||||||
@Override
|
@Override
|
||||||
public SQLUpdateAction build() {
|
public SQLUpdateAction build() {
|
||||||
StringBuilder createSQL = new StringBuilder();
|
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("(");
|
||||||
createSQL.append(String.join(", ", columns));
|
createSQL.append(String.join(", ", columns));
|
||||||
if (indexes.size() > 0) {
|
if (indexes.size() > 0) {
|
||||||
@ -58,7 +61,7 @@ public class TableCreateBuilderImpl extends AbstractSQLBuilder implements TableC
|
|||||||
createSQL.append(") ").append(getTableSettings());
|
createSQL.append(") ").append(getTableSettings());
|
||||||
|
|
||||||
if (tableComment != null) {
|
if (tableComment != null) {
|
||||||
createSQL.append(" COMMENT '").append(tableComment).append("'");
|
createSQL.append(" COMMENT ").append(withQuote(tableComment));
|
||||||
}
|
}
|
||||||
|
|
||||||
return new SQLUpdateActionImpl(getManager(), createSQL.toString());
|
return new SQLUpdateActionImpl(getManager(), createSQL.toString());
|
||||||
@ -95,13 +98,13 @@ public class TableCreateBuilderImpl extends AbstractSQLBuilder implements TableC
|
|||||||
|
|
||||||
keyBuilder.append("CONSTRAINT ");
|
keyBuilder.append("CONSTRAINT ");
|
||||||
if (constraintName == null) {
|
if (constraintName == null) {
|
||||||
keyBuilder.append("`").append("fk_").append(tableColumn).append("_").append(foreignTable).append("`");
|
keyBuilder.append(withBackQuote("fk_" + tableColumn + "_" + foreignTable));
|
||||||
} else {
|
} else {
|
||||||
keyBuilder.append("`").append(constraintName).append("`");
|
keyBuilder.append(withBackQuote(constraintName));
|
||||||
}
|
}
|
||||||
keyBuilder.append(" ");
|
keyBuilder.append(" ");
|
||||||
keyBuilder.append("FOREIGN KEY (`").append(tableColumn).append("`) ");
|
keyBuilder.append("FOREIGN KEY (").append(withBackQuote(tableColumn)).append(") ");
|
||||||
keyBuilder.append("REFERENCES `").append(foreignTable).append("`(`").append(foreignColumn).append("`)");
|
keyBuilder.append("REFERENCES ").append(withBackQuote(foreignTable)).append("(").append(withBackQuote(foreignColumn)).append(")");
|
||||||
|
|
||||||
if (updateRule != null) keyBuilder.append(" ON UPDATE ").append(updateRule.getRuleName());
|
if (updateRule != null) keyBuilder.append(" ON UPDATE ").append(updateRule.getRuleName());
|
||||||
if (deleteRule != null) keyBuilder.append(" ON DELETE ").append(deleteRule.getRuleName());
|
if (deleteRule != null) keyBuilder.append(" ON DELETE ").append(deleteRule.getRuleName());
|
||||||
@ -135,10 +138,10 @@ public class TableCreateBuilderImpl extends AbstractSQLBuilder implements TableC
|
|||||||
|
|
||||||
indexBuilder.append(indexType.getName()).append(" ");
|
indexBuilder.append(indexType.getName()).append(" ");
|
||||||
if (indexName != null) {
|
if (indexName != null) {
|
||||||
indexBuilder.append("`").append(indexName).append("`");
|
indexBuilder.append(withBackQuote(indexName));
|
||||||
}
|
}
|
||||||
indexBuilder.append("(");
|
indexBuilder.append("(");
|
||||||
indexBuilder.append("`").append(columnName).append("`");
|
indexBuilder.append(withBackQuote(columnName));
|
||||||
|
|
||||||
if (moreColumns.length > 0) {
|
if (moreColumns.length > 0) {
|
||||||
indexBuilder.append(", ");
|
indexBuilder.append(", ");
|
||||||
|
@ -7,6 +7,8 @@ import cc.carm.lib.easysql.manager.SQLManagerImpl;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote;
|
||||||
|
|
||||||
public class TableQueryBuilderImpl
|
public class TableQueryBuilderImpl
|
||||||
extends AbstractConditionalBuilder<TableQueryBuilder, PreparedQueryAction>
|
extends AbstractConditionalBuilder<TableQueryBuilder, PreparedQueryAction>
|
||||||
implements TableQueryBuilder {
|
implements TableQueryBuilder {
|
||||||
@ -33,15 +35,14 @@ public class TableQueryBuilderImpl
|
|||||||
} else {
|
} else {
|
||||||
for (int i = 0; i < columns.length; i++) {
|
for (int i = 0; i < columns.length; i++) {
|
||||||
String name = columns[i];
|
String name = columns[i];
|
||||||
sqlBuilder.append("`").append(name).append("`");
|
sqlBuilder.append(withBackQuote(name));
|
||||||
if (i != columns.length - 1) {
|
if (i != columns.length - 1) {
|
||||||
sqlBuilder.append(",");
|
sqlBuilder.append(",");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sqlBuilder.append(" ").append("FROM").append(" ");
|
sqlBuilder.append(" ").append("FROM").append(" ").append(withBackQuote(tableName));
|
||||||
sqlBuilder.append("`").append(tableName).append("`");
|
|
||||||
|
|
||||||
if (hasConditions()) sqlBuilder.append(" ").append(buildConditionSQL());
|
if (hasConditions()) sqlBuilder.append(" ").append(buildConditionSQL());
|
||||||
|
|
||||||
@ -71,7 +72,7 @@ public class TableQueryBuilderImpl
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TableQueryBuilder orderBy(@NotNull String columnName, boolean asc) {
|
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;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,6 +9,8 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote;
|
||||||
|
|
||||||
public class UpdateBuilderImpl
|
public class UpdateBuilderImpl
|
||||||
extends AbstractConditionalBuilder<UpdateBuilder, SQLAction<Integer>>
|
extends AbstractConditionalBuilder<UpdateBuilder, SQLAction<Integer>>
|
||||||
implements UpdateBuilder {
|
implements UpdateBuilder {
|
||||||
@ -28,11 +30,11 @@ public class UpdateBuilderImpl
|
|||||||
|
|
||||||
StringBuilder sqlBuilder = new StringBuilder();
|
StringBuilder sqlBuilder = new StringBuilder();
|
||||||
|
|
||||||
sqlBuilder.append("UPDATE `").append(getTableName()).append("` SET ");
|
sqlBuilder.append("UPDATE ").append(withBackQuote(getTableName())).append(" SET ");
|
||||||
|
|
||||||
Iterator<String> iterator = this.columnNames.iterator();
|
Iterator<String> iterator = this.columnNames.iterator();
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
sqlBuilder.append("`").append(iterator.next()).append("` = ?");
|
sqlBuilder.append(withBackQuote(iterator.next())).append(" = ?");
|
||||||
if (iterator.hasNext()) sqlBuilder.append(" , ");
|
if (iterator.hasNext()) sqlBuilder.append(" , ");
|
||||||
}
|
}
|
||||||
List<Object> allParams = new ArrayList<>(this.columnValues);
|
List<Object> allParams = new ArrayList<>(this.columnValues);
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>easysql-parent</artifactId>
|
<artifactId>easysql-parent</artifactId>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<version>0.3.3</version>
|
<version>0.3.4</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>easysql-parent</artifactId>
|
<artifactId>easysql-parent</artifactId>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<version>0.3.3</version>
|
<version>0.3.4</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
2
pom.xml
2
pom.xml
@ -16,7 +16,7 @@
|
|||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<artifactId>easysql-parent</artifactId>
|
<artifactId>easysql-parent</artifactId>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<version>0.3.3</version>
|
<version>0.3.4</version>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
<module>easysql-api</module>
|
<module>easysql-api</module>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>easysql-parent</artifactId>
|
<artifactId>easysql-parent</artifactId>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<version>0.3.3</version>
|
<version>0.3.4</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>easysql-parent</artifactId>
|
<artifactId>easysql-parent</artifactId>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<version>0.3.3</version>
|
<version>0.3.4</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
Loading…
Reference in New Issue
Block a user