Class ColumnDefinition

java.lang.Object
top.magstar.framework.database.abstractions.ColumnDefinition

public class ColumnDefinition extends Object
数据库列定义类。

用于描述数据库表中列的完整定义,包括列名、类型、约束等属性。 支持流式 API 构建和传统的 setter 方法两种使用方式。

Since:
1.0.0
Version:
1.0.0
Author:
Berry_so
  • Constructor Details

    • ColumnDefinition

      public ColumnDefinition(String name, String type)
      构造一个列定义。
      Parameters:
      name - 列名
      type - 列类型
  • Method Details

    • create

      public static ColumnDefinition create(String name, String type)
      创建一个新的列定义(静态工厂方法)。
      Parameters:
      name - 列名
      type - 列类型
      Returns:
      新的列定义实例
    • length

      public ColumnDefinition length(int length)
      设置列长度。
      Parameters:
      length - 列长度
      Returns:
      当前实例,支持链式调用
    • nullable

      public ColumnDefinition nullable(boolean nullable)
      设置列是否可为空。
      Parameters:
      nullable - 是否可为空
      Returns:
      当前实例,支持链式调用
    • primaryKey

      public ColumnDefinition primaryKey()
      设置为主键(同时设置为不可为空)。
      Returns:
      当前实例,支持链式调用
    • primaryKey

      public ColumnDefinition primaryKey(boolean isPrimaryKey)
      设置是否为主键。
      Parameters:
      isPrimaryKey - 是否为主键,true 时自动设置为不可为空
      Returns:
      当前实例,支持链式调用
    • removePrimaryKey

      public ColumnDefinition removePrimaryKey()
      移除主键标记。
      Returns:
      当前实例,支持链式调用
    • autoIncrement

      public ColumnDefinition autoIncrement()
      设置为自增列。
      Returns:
      当前实例,支持链式调用
    • autoIncrement

      public ColumnDefinition autoIncrement(boolean isAutoIncrement)
      设置是否为自增列。
      Parameters:
      isAutoIncrement - 是否为自增列
      Returns:
      当前实例,支持链式调用
    • defaultValue

      public ColumnDefinition defaultValue(String defaultValue)
      设置默认值。
      Parameters:
      defaultValue - 默认值
      Returns:
      当前实例,支持链式调用
    • unique

      public ColumnDefinition unique()
      设置为唯一约束。
      Returns:
      当前实例,支持链式调用
    • unique

      public ColumnDefinition unique(boolean isUnique)
      设置是否为唯一约束。
      Parameters:
      isUnique - 是否为唯一约束
      Returns:
      当前实例,支持链式调用
    • comment

      public ColumnDefinition comment(String comment)
      设置列注释。
      Parameters:
      comment - 列注释
      Returns:
      当前实例,支持链式调用
    • getName

      public String getName()
      获取列名。
      Returns:
      列名
    • getType

      public String getType()
      获取列类型。
      Returns:
      列类型
    • getLength

      public int getLength()
      获取列长度。
      Returns:
      列长度
    • isNullable

      public boolean isNullable()
      判断列是否可为空。
      Returns:
      是否可为空
    • isPrimaryKey

      public boolean isPrimaryKey()
      判断是否为主键。
      Returns:
      是否为主键
    • isAutoIncrement

      public boolean isAutoIncrement()
      判断是否为自增列。
      Returns:
      是否为自增列
    • getDefaultValue

      public String getDefaultValue()
      获取默认值。
      Returns:
      默认值
    • isUnique

      public boolean isUnique()
      判断是否有唯一约束。
      Returns:
      是否有唯一约束
    • getComment

      public String getComment()
      获取列注释。
      Returns:
      列注释
    • setName

      public void setName(String name)
      设置列名。
      Parameters:
      name - 列名
    • setType

      public void setType(String type)
      设置列类型。
      Parameters:
      type - 列类型
    • setLength

      public void setLength(int length)
      设置列长度。
      Parameters:
      length - 列长度
    • setNullable

      public void setNullable(boolean nullable)
      设置是否可为空。
      Parameters:
      nullable - 是否可为空
    • setPrimaryKey

      public void setPrimaryKey(boolean primaryKey)
      设置是否为主键。
      Parameters:
      primaryKey - 是否为主键,true 时自动设置为不可为空
    • setAutoIncrement

      public void setAutoIncrement(boolean autoIncrement)
      设置是否为自增列。
      Parameters:
      autoIncrement - 是否为自增列
    • setDefaultValue

      public void setDefaultValue(String defaultValue)
      设置默认值。
      Parameters:
      defaultValue - 默认值
    • setUnique

      public void setUnique(boolean unique)
      设置是否有唯一约束。
      Parameters:
      unique - 是否有唯一约束
    • setComment

      public void setComment(String comment)
      设置列注释。
      Parameters:
      comment - 列注释
    • copy

      public ColumnDefinition copy()
      创建当前列定义的深拷贝。
      Returns:
      新的列定义实例,包含相同的属性值
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object