weaver-hrm-salary/src/com/engine/salary/elog/entity/dto/TableColumnBean.java

156 lines
3.8 KiB
Java

package com.engine.salary.elog.entity.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* @ClassName: TableColumnBean
* @Description 表字段类
* @Author tanghj
* @Date 2021/3/12 11:44
*/
@ApiModel("表字段类")
public class TableColumnBean {
@ApiModelProperty("列名")
private String columnName;
/**
* varchar(20)
*/
@ApiModelProperty("数据类型")
private String columnType;
@ApiModelProperty("字段类型-字符串")
private String dataTypeStr;
@ApiModelProperty("字段类型")
private DataTypeEnum dataType;
@ApiModelProperty("长度")
private long fieldLength;
@ApiModelProperty("是否为空")
private boolean isNullable;
@ApiModelProperty("是否为空-字符串")
private String isNullableStr;
@ApiModelProperty("默认值")
private Object columnDefault;
@ApiModelProperty("备注")
private String columnComment;
public String getColumnName() {
return columnName;
}
public void setColumnName(String columnName) {
this.columnName = columnName;
}
public String getColumnType() {
return columnType;
}
public void setColumnType(String columnType) {
this.columnType = columnType;
}
public DataTypeEnum getDataType() {
return dataType;
}
public void setDataType(DataTypeEnum dataType) {
this.dataType = dataType;
}
public long getFieldLength() {
return fieldLength;
}
public void setFieldLength(long fieldLength) {
this.fieldLength = fieldLength;
}
public boolean isNullable() {
return isNullable;
}
public void setNullable(boolean nullable) {
isNullable = nullable;
}
public Object getColumnDefault() {
return columnDefault;
}
public void setColumnDefault(Object columnDefault) {
this.columnDefault = columnDefault;
}
public String getColumnComment() {
return columnComment;
}
public void setColumnComment(String columnComment) {
this.columnComment = columnComment;
}
public String getDataTypeStr() {
return dataTypeStr;
}
public void setDataTypeStr(String dataTypeStr) {
this.dataTypeStr = dataTypeStr;
}
public String getIsNullableStr() {
return isNullableStr;
}
public void setIsNullableStr(String isNullableStr) {
this.isNullableStr = isNullableStr;
}
public boolean equals(TableColumnBean tableColumnBean) {
return this.toSql().equals(tableColumnBean.toSql());
}
public String toSql() {
StringBuilder sb = new StringBuilder(this.columnName.toLowerCase()).append(" ");
if (this.dataType == null) {
return "类型为空";
}
switch (this.dataType) {
case BIGINT:
case INT:
case TEXT:
case LONGTEXT:
case DATETIME:
case FLOAT:
case TINYINT:
case DOUBLE:
sb.append(this.dataType.name().toLowerCase()).append(" ");
break;
case VARCHAR:
sb.append(this.dataType.name().toLowerCase()).append("(").append(this.fieldLength).append(") ");
break;
case DECIMAL:
long length = (this.fieldLength < 0 || this.fieldLength > 38) ? 0 : this.fieldLength;
sb.append(this.dataType.name().toLowerCase()).append("(").append(38 - length).append(",").append(length).append(") ");
break;
default:
sb.append("varchar").append("(").append(10).append(") ");
}
sb.append("comment ").append("'").append(this.columnComment).append("' ");
return sb.toString();
}
}