com.github.nikyotensai.config.po.TableInfo Maven / Gradle / Ivy
The newest version!
package com.github.nikyotensai.config.po;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import lombok.Getter;
import lombok.Setter;
/**
* 表信息,关联到当前字段信息
*/
@Getter
@Setter
public class TableInfo {
private String name;
private String comment;
private String entityName;
private String mapperName;
private String xmlName;
private String serviceName;
private String serviceImplName;
private String controllerName;
private List fields;
private String fieldNames;
private boolean hasDate;
/**
* 转换filed实体为xmlmapper中的basecolumn字符串信息
*
* @return
*/
public String getFieldNames() {
if (StringUtils.isBlank(fieldNames)) {
StringBuilder names = new StringBuilder();
for (int i = 0; i < fields.size(); i++) {
TableField fd = fields.get(i);
if (i == fields.size() - 1) {
names.append(cov2col(fd));
} else {
names.append(cov2col(fd)).append(", ");
}
}
fieldNames = names.toString();
}
return fieldNames;
}
/**
* 判断字段中是否包含日期类型
*
* @return 是否
*/
public boolean isHasDate() {
for (TableField fieldInfo : fields) {
if (fieldInfo.getPropertyType().equals("Date")) {
hasDate = true;
break;
}
}
return hasDate;
}
/**
* mapper xml中的字字段添加as
*
* @param field 字段实体
* @return 转换后的信息
*/
private String cov2col(TableField field) {
if (null != field) {
return field.isConvert() ? field.getName() + " AS " + field.getPropertyName() : field.getName();
}
return StringUtils.EMPTY;
}
}