1
mirror of https://github.com/CarmJos/EasySQL.git synced 2026-06-04 15:28:20 +08:00

[v0.3.0] 添加测试项目,并对新内容进行测试

This commit is contained in:
2022-01-26 02:26:30 +08:00
parent e98a3357ab
commit 8a07759b87
23 changed files with 484 additions and 69 deletions
+1 -1
View File
@@ -5,7 +5,7 @@
<parent>
<artifactId>easysql-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>0.3.0-SNAPSHOT</version>
<version>0.3.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -2,14 +2,14 @@ package cc.carm.lib.easysql.builder.impl;
import cc.carm.lib.easysql.action.SQLUpdateActionImpl;
import cc.carm.lib.easysql.api.SQLAction;
import cc.carm.lib.easysql.api.builder.TableAlertBuilder;
import cc.carm.lib.easysql.api.builder.TableAlterBuilder;
import cc.carm.lib.easysql.api.enums.IndexType;
import cc.carm.lib.easysql.builder.AbstractSQLBuilder;
import cc.carm.lib.easysql.manager.SQLManagerImpl;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public class TableAlterBuilderImpl extends AbstractSQLBuilder implements TableAlertBuilder {
public class TableAlterBuilderImpl extends AbstractSQLBuilder implements TableAlterBuilder {
protected final @NotNull String tableName;
@@ -25,28 +25,28 @@ public class TableAlterBuilderImpl extends AbstractSQLBuilder implements TableAl
@Override
public SQLAction<Integer> renameTo(@NotNull String newTableName) {
return new SQLUpdateActionImpl(getManager(),
"ALERT TABLE `" + getTableName() + "` RENAME TO `" + newTableName + "`"
"ALTER TABLE `" + getTableName() + "` RENAME TO `" + newTableName + "`"
);
}
@Override
public SQLAction<Integer> changeComment(@NotNull String newTableComment) {
return new SQLUpdateActionImpl(getManager(),
"ALERT TABLE `" + getTableName() + "` COMMENT '" + newTableComment + "'"
"ALTER TABLE `" + getTableName() + "` COMMENT '" + newTableComment + "'"
);
}
@Override
public SQLAction<Integer> setAutoIncrementIndex(int index) {
return new SQLUpdateActionImpl(getManager(),
"ALERT TABLE `" + getTableName() + "` AUTO_INCREMENT=" + index
"ALTER TABLE `" + getTableName() + "` AUTO_INCREMENT=" + index
);
}
@Override
public SQLAction<Integer> addIndex(@NotNull IndexType indexType, @NotNull String indexName, @NotNull String columnName, @NotNull String... moreColumns) {
return createAction(
"ALERT TABLE `" + getTableName() + "` ADD "
"ALTER TABLE `" + getTableName() + "` ADD "
+ TableCreateBuilderImpl.buildIndexSettings(indexType, indexName, columnName, moreColumns)
);
}
@@ -54,63 +54,73 @@ public class TableAlterBuilderImpl extends AbstractSQLBuilder implements TableAl
@Override
public SQLAction<Integer> dropIndex(@NotNull String indexName) {
return createAction(
"ALERT TABLE `" + getTableName() + "` DROP INDEX `" + indexName + "`"
"ALTER TABLE `" + getTableName() + "` DROP INDEX `" + indexName + "`"
);
}
@Override
public SQLAction<Integer> dropForeignKey(@NotNull String keySymbol) {
return createAction(
"ALERT TABLE `" + getTableName() + "` DROP FOREIGN KEY `" + keySymbol + "`"
"ALTER TABLE `" + getTableName() + "` DROP FOREIGN KEY `" + keySymbol + "`"
);
}
@Override
public SQLAction<Integer> dropPrimaryKey() {
return createAction(
"ALERT TABLE `" + getTableName() + "` DROP PRIMARY KEY"
"ALTER TABLE `" + getTableName() + "` DROP PRIMARY KEY"
);
}
@Override
public SQLAction<Integer> addColumn(@NotNull String columnName, @NotNull String settings, @Nullable String afterColumn) {
String orderSettings = null;
if (afterColumn != null) {
if (afterColumn.length() > 0) {
orderSettings = "AFTER `" + afterColumn + "`";
} else {
orderSettings = "FIRST";
}
}
return createAction(
"ALERT TABLE `" + getTableName() + "` ADD `" + columnName + "` " + settings
"ALTER TABLE `" + getTableName() + "` ADD `" + columnName + "` " + settings
+ (orderSettings != null ? " " + orderSettings : "")
);
}
@Override
public SQLAction<Integer> renameColumn(@NotNull String columnName, @NotNull String newName) {
return createAction(
"ALERT TABLE `" + getTableName() + "` RENAME COLUMN `" + columnName + "` TO `" + newName + "`"
"ALTER TABLE `" + getTableName() + "` RENAME COLUMN `" + columnName + "` TO `" + newName + "`"
);
}
@Override
public SQLAction<Integer> modifyColumn(@NotNull String columnName, @NotNull String settings) {
return createAction(
"ALERT TABLE `" + getTableName() + "` MODIFY COLUMN `" + columnName + "` " + settings
"ALTER TABLE `" + getTableName() + "` MODIFY COLUMN `" + columnName + "` " + settings
);
}
@Override
public SQLAction<Integer> removeColumn(@NotNull String columnName) {
return createAction(
"ALERT TABLE `" + getTableName() + "` DROP `" + columnName + "`"
"ALTER TABLE `" + getTableName() + "` DROP `" + columnName + "`"
);
}
@Override
public SQLAction<Integer> setColumnDefault(@NotNull String columnName, @NotNull String defaultValue) {
return createAction(
"ALERT TABLE `" + getTableName() + "` ALERT `" + columnName + "` SET DEFAULT " + defaultValue
"ALTER TABLE `" + getTableName() + "` ALTER `" + columnName + "` SET DEFAULT " + defaultValue
);
}
@Override
public SQLAction<Integer> removeColumnDefault(@NotNull String columnName) {
return createAction(
"ALERT TABLE `" + getTableName() + "` ALERT `" + columnName + "` DROP DEFAULT"
"ALTER TABLE `" + getTableName() + "` ALTER `" + columnName + "` DROP DEFAULT"
);
}
@@ -5,6 +5,7 @@ import cc.carm.lib.easysql.api.action.SQLUpdateAction;
import cc.carm.lib.easysql.api.builder.TableCreateBuilder;
import cc.carm.lib.easysql.api.enums.ForeignKeyRule;
import cc.carm.lib.easysql.api.enums.IndexType;
import cc.carm.lib.easysql.api.enums.NumberType;
import cc.carm.lib.easysql.builder.AbstractSQLBuilder;
import cc.carm.lib.easysql.manager.SQLManagerImpl;
import org.jetbrains.annotations.NotNull;
@@ -45,21 +46,15 @@ public class TableCreateBuilderImpl extends AbstractSQLBuilder implements TableC
StringBuilder createSQL = new StringBuilder();
createSQL.append("CREATE TABLE IF NOT EXISTS `").append(tableName).append("`");
createSQL.append("(");
for (int i = 0; i < columns.size(); i++) {
createSQL.append(columns.get(i));
if (i != columns.size() - 1) createSQL.append(", ");
createSQL.append(String.join(", ", columns));
if (indexes.size() > 0) {
createSQL.append(", ");
createSQL.append(String.join(", ", indexes));
}
for (int i = 0; i < indexes.size(); i++) {
createSQL.append(indexes.get(i));
if (i != indexes.size() - 1) createSQL.append(", ");
if (foreignKeys.size() > 0) {
createSQL.append(", ");
createSQL.append(String.join(", ", foreignKeys));
}
for (int i = 0; i < foreignKeys.size(); i++) {
createSQL.append(foreignKeys.get(i));
if (i != foreignKeys.size() - 1) createSQL.append(", ");
}
createSQL.append(") ").append(getTableSettings());
if (tableComment != null) {
@@ -75,6 +70,16 @@ public class TableCreateBuilderImpl extends AbstractSQLBuilder implements TableC
return this;
}
@Override
public TableCreateBuilder addAutoIncrementColumn(@NotNull String columnName, @Nullable NumberType numberType,
boolean asPrimaryKey, boolean unsigned) {
return addColumn(columnName,
(numberType == null ? NumberType.INT : numberType).name()
+ (unsigned ? " UNSIGNED " : " ")
+ "NOT NULL AUTO_INCREMENT " + (asPrimaryKey ? "PRIMARY KEY" : "UNIQUE KEY")
);
}
@Override
public TableCreateBuilder setIndex(@NotNull IndexType type, @Nullable String indexName,
@NotNull String columnName, @NotNull String... moreColumns) {
@@ -124,7 +129,7 @@ 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();
@@ -130,7 +130,7 @@ public class SQLManagerImpl implements SQLManager {
}
@Override
public TableAlertBuilder alterTable(@NotNull String tableName) {
public TableAlterBuilder alterTable(@NotNull String tableName) {
return new TableAlterBuilderImpl(this, tableName);
}