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>
<groupId>cc.carm.lib</groupId>
<artifactId>easysql-parent</artifactId>
<version>0.3.0-SNAPSHOT</version>
<version>0.3.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -106,6 +106,7 @@ public interface SQLAction<T> {
* 执行语句并处理返回值
*
* @param function 处理方法
* @param defaultResult 默认结果,若处理后的结果为null,则返回该值
* @param exceptionHandler 异常处理器 默认为 {@link #defaultExceptionHandler()}
* @param <R> 需要返回的内容
* @return 指定类型数据
@@ -139,8 +140,8 @@ public interface SQLAction<T> {
/**
* 执行语句并处理返回值
*
* @param defaultResult 默认结果,若处理后的结果为null,则返回该值
* @param function 处理方法
* @param defaultResult 默认结果,若处理后的结果为null,则返回该值
* @param <R> 需要返回的内容
* @return 指定类型数据
* @throws SQLException 当SQL操作出现问题时抛出
@@ -113,9 +113,9 @@ public interface SQLManager {
* 对库中的某个表执行更改
*
* @param tableName 表名
* @return {@link TableAlertBuilder}
* @return {@link TableAlterBuilder}
*/
TableAlertBuilder alterTable(@NotNull String tableName);
TableAlterBuilder alterTable(@NotNull String tableName);
/**
* 新建一个查询
@@ -8,7 +8,7 @@ import cc.carm.lib.easysql.api.enums.NumberType;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public interface TableAlertBuilder extends SQLBuilder {
public interface TableAlterBuilder extends SQLBuilder {
SQLAction<Integer> renameTo(@NotNull String newTableName);
@@ -23,7 +23,7 @@ public interface TableAlertBuilder extends SQLBuilder {
* 为该表移除一个索引
*
* @param indexName 索引名
* @return @return {@link SQLUpdateAction}
* @return {@link SQLUpdateAction}
*/
SQLAction<Integer> dropIndex(@NotNull String indexName);
@@ -31,14 +31,14 @@ public interface TableAlertBuilder extends SQLBuilder {
* 为该表移除一个外键
*
* @param keySymbol 外键名
* @return @return {@link SQLUpdateAction}
* @return {@link SQLUpdateAction}
*/
SQLAction<Integer> dropForeignKey(@NotNull String keySymbol);
/**
* 为该表移除主键(须添加新主键)
*
* @return @return {@link SQLUpdateAction}
* @return {@link SQLUpdateAction}
*/
SQLAction<Integer> dropPrimaryKey();
@@ -107,7 +107,7 @@ public interface TableAlertBuilder extends SQLBuilder {
*
* @param columnName 列名
* @param numberType 数字类型若省缺则为 {@link NumberType#INT}
* @return {@link TableAlertBuilder}
* @return {@link TableAlterBuilder}
*/
default SQLAction<Integer> addAutoIncrementColumn(@NotNull String columnName, @NotNull NumberType numberType) {
return addAutoIncrementColumn(columnName, numberType, false, true);
@@ -120,7 +120,7 @@ public interface TableAlertBuilder extends SQLBuilder {
* <p> 注意一个表只允许有一个自增列
*
* @param columnName 列名
* @return {@link TableAlertBuilder}
* @return {@link TableAlterBuilder}
*/
default SQLAction<Integer> addAutoIncrementColumn(@NotNull String columnName) {
return addAutoIncrementColumn(columnName, NumberType.INT);
@@ -84,45 +84,54 @@ public interface TableCreateBuilder extends SQLBuilder {
* <p> 自增列强制要求为数字类型,非空,且为UNIQUE。
* <p> 注意:一个表只允许有一个自增列!
*
* @param columnName 列名
* @param numberType 数字类型,若省缺则为 {@link NumberType#INT}
* @param primary 是否为主键,若为false则设定为唯一键
* @param unsigned 是否采用 UNSIGNED (即无负数,可以增加自增键的最高数,建议为true)
* @param columnName 列名
* @param numberType 数字类型,若省缺则为 {@link NumberType#INT}
* @param asPrimaryKey 是否为主键,若为false则设定为唯一键
* @param unsigned 是否采用 UNSIGNED (即无负数,可以增加自增键的最高数,建议为true)
* @return {@link TableCreateBuilder}
*/
default TableCreateBuilder addAutoIncrementColumn(@NotNull String columnName, @Nullable NumberType numberType,
boolean primary, boolean unsigned) {
return addColumn(columnName,
(numberType == null ? NumberType.INT : numberType).name()
+ (unsigned ? " UNSIGNED " : " ")
+ "NOT NULL AUTO_INCREMENT " + (primary ? "PRIMARY KEY" : "UNIQUE KEY")
);
}
TableCreateBuilder addAutoIncrementColumn(@NotNull String columnName, @Nullable NumberType numberType,
boolean asPrimaryKey, boolean unsigned);
/**
* 为该表添加一个自增主键列
* 为该表添加一个INT类型的自增主键列
* <p> 自增列强制要求为数字类型,非空,且为UNIQUE。
* <p> 注意:一个表只允许有一个自增列!
*
* @param columnName 列名
* @param numberType 数字类型,若省缺则为 {@link NumberType#INT}
* @param columnName 列名
* @param asPrimaryKey 是否为主键,若为false则设定为唯一键
* @param unsigned 是否采用 UNSIGNED (即无负数,可以增加自增键的最高数,建议为true)
* @return {@link TableCreateBuilder}
*/
default TableCreateBuilder addAutoIncrementColumn(@NotNull String columnName, @Nullable NumberType numberType) {
return addAutoIncrementColumn(columnName, numberType, true, true);
default TableCreateBuilder addAutoIncrementColumn(@NotNull String columnName,
boolean asPrimaryKey, boolean unsigned) {
return addAutoIncrementColumn(columnName, NumberType.INT, asPrimaryKey, unsigned);
}
/**
* 为该表添加一个INT类型的自增列
* <p> 自增列强制要求为数字类型,非空,且为UNIQUE。
* <p> 注意:一个表只允许有一个自增列!
*
* @param columnName 列名
* @param asPrimaryKey 是否为主键,若为false则设定为唯一键
* @return {@link TableCreateBuilder}
*/
default TableCreateBuilder addAutoIncrementColumn(@NotNull String columnName, boolean asPrimaryKey) {
return addAutoIncrementColumn(columnName, asPrimaryKey, true);
}
/**
* 为该表添加一个INT类型的自增主键列
* <p> 自增列强制要求为数字类型,非空,且为UNIQUE。
* <p> 本方法采用的类型为 INT 如有其他需要请自行使用 {@link #addAutoIncrementColumn(String, NumberType)} 方法。
* <p> 注意:一个表只允许有一个自增列!
*
* @param columnName 列名
* @return {@link TableCreateBuilder}
*/
default TableCreateBuilder addAutoIncrementColumn(@NotNull String columnName) {
return addAutoIncrementColumn(columnName, null);
return addAutoIncrementColumn(columnName, true);
}
/**
@@ -136,8 +145,8 @@ public interface TableCreateBuilder extends SQLBuilder {
* @param columnName 索引包含的列
* @return {@link TableCreateBuilder}
*/
default TableCreateBuilder setIndex(@NotNull IndexType type,
@NotNull String columnName) {
default TableCreateBuilder setIndex(@NotNull String columnName,
@NotNull IndexType type) {
return setIndex(type, null, columnName);
}