use of com.dq.easy.cloud.module.common.generator.code.java.desc.anno.DqJavaAnnotationDesc in project dq-easy-cloud by dq-open-cloud.
the class DqJavaClassContentDesc method buildFieldsByDatabaseSources.
/**
* 根据数据源构建属性列表
*/
private DqJavaClassContentDesc buildFieldsByDatabaseSources(DqDatabaseDataSources databaseDataSources) {
ResultSet resultSet = databaseDataSources.getResultSet();
if (DqBaseUtils.isNull(resultSet)) {
return this;
}
if (DqCollectionsUtils.isEmpty(this.fields)) {
this.fields = new ArrayList<>();
}
try {
while (resultSet.next()) {
String name = DqStringUtils.replaceUnderLineAndUpperCase(resultSet.getString(DqColumnLabel.COLUMN_NAME));
// id字段略过
if (DqIgnoreField.isIgnoreField(name)) {
continue;
}
DqJavaFieldContentDesc fieldContentDesc = new DqJavaFieldContentDesc();
// 字段在数据库的注释
fieldContentDesc.setComment(resultSet.getString(DqColumnLabel.REMARKS));
// 设置属性注解列表信息
List<DqJavaAnnotationDesc> fieldAnnotationDescs = getFieldsAnnotationsByResultSet(resultSet);
fieldContentDesc.setAnnotations(fieldAnnotationDescs);
// 设置modifer列表信息
List<DqJavaModifierDesc> fieldModifierDescs = new ArrayList<>();
fieldModifierDescs.add(new DqJavaModifierDesc(DqModifierMappingEnum.PUBLIC));
fieldContentDesc.setModifiers(fieldModifierDescs);
// 设置属性类型
fieldContentDesc.setSimpleClassType(databaseDataSources.getFieldTypeByColumnType(resultSet.getString(DqColumnLabel.TYPE_NAME)));
// 设置属性名称
fieldContentDesc.setName(name);
// 设置属性完整类型
fieldContentDesc.setFullClassType(DqCodeGenerateUtils.getCompleteClassName(fieldContentDesc.getSimpleClassType()));
this.fields.add(fieldContentDesc);
}
} catch (SQLException e) {
e.printStackTrace();
}
return this;
}
use of com.dq.easy.cloud.module.common.generator.code.java.desc.anno.DqJavaAnnotationDesc in project dq-easy-cloud by dq-open-cloud.
the class DqJavaClassContentDesc method addImportFieldsFullClassType.
/**
* add导入属性列表的完整类类型
*/
private void addImportFieldsFullClassType() {
DqGenerateJavaClassRule javaClassRule = (DqGenerateJavaClassRule) getGenerateRule();
boolean returnCondition = DqCollectionsUtils.isEmpty(fields) || DqBaseUtils.isNull(javaClassRule) || !javaClassRule.isGenerateField();
if (returnCondition) {
return;
}
for (DqJavaFieldContentDesc field : fields) {
doAddImportFullClassTypes(field.getFullClassType());
if (DqCollectionsUtils.isEmpty(field.getAnnotations())) {
continue;
}
for (DqJavaAnnotationDesc fileAnnotationDesc : field.getAnnotations()) {
doAddImportFullClassTypes(fileAnnotationDesc.getFullClassType());
}
}
}
use of com.dq.easy.cloud.module.common.generator.code.java.desc.anno.DqJavaAnnotationDesc in project dq-easy-cloud by dq-open-cloud.
the class DqJavaClassContentDesc method getFieldsAnnotationsByResultSet.
/**
* <p>
* 根据dataSource构建属性注解列表
* </p>
*
* @param databaseDataSources
* @return
* @author daiqi 创建时间 2018年3月26日 上午10:18:57
* @throws SQLException
*/
private List<DqJavaAnnotationDesc> getFieldsAnnotationsByResultSet(ResultSet resultSet) throws SQLException {
// 设置属性注解
List<DqJavaAnnotationDesc> annotationDescs = new ArrayList<>();
// 设置列注解描述
DqJavaAnnotationDesc columnAnnotationDesc = new DqJavaAnnotationDesc();
columnAnnotationDesc.setFullClassType(Column.class.getName());
columnAnnotationDesc.setSimpleClassType(Column.class.getSimpleName());
columnAnnotationDesc.setName(Column.class.getSimpleName());
// 获取column参数描述列表
List<DqJavaAnnotationParamDesc> columnAnnotationParamDescs = new ArrayList<>();
columnAnnotationParamDescs.add(new DqJavaAnnotationParamDesc("name", resultSet.getString(DqColumnLabel.COLUMN_NAME)));
columnAnnotationDesc.setParams(columnAnnotationParamDescs);
annotationDescs.add(columnAnnotationDesc);
return annotationDescs;
}
use of com.dq.easy.cloud.module.common.generator.code.java.desc.anno.DqJavaAnnotationDesc in project dq-easy-cloud by dq-open-cloud.
the class DqGenerateJavaDAOImplBO method getAnnotations.
@Override
protected List<DqJavaAnnotationDesc> getAnnotations() {
List<DqJavaAnnotationDesc> annotationDescs = new ArrayList<>();
DqJavaAnnotationDesc repositoryAnnotation = new DqJavaAnnotationDesc();
repositoryAnnotation.setName(Repository.class.getSimpleName());
repositoryAnnotation.setSimpleClassType(Repository.class.getSimpleName());
repositoryAnnotation.setFullClassType(Repository.class.getName());
List<DqJavaAnnotationParamDesc> repositoryAnnotationParamDescs = new ArrayList<>();
String value = DqStringUtils.uncapitalize(generateJavaBaseDTO.getClassBodyName() + DqClassNameEndWith.DAO_INF);
repositoryAnnotationParamDescs.add(new DqJavaAnnotationParamDesc("value", value));
repositoryAnnotation.setParams(repositoryAnnotationParamDescs);
annotationDescs.add(repositoryAnnotation);
return annotationDescs;
}
use of com.dq.easy.cloud.module.common.generator.code.java.desc.anno.DqJavaAnnotationDesc in project dq-easy-cloud by dq-open-cloud.
the class DqGenerateJavaDOBO method getAnnotations.
@Override
protected List<DqJavaAnnotationDesc> getAnnotations() {
if (DqBaseUtils.isNull(dataBaseConfig)) {
return null;
}
List<DqJavaAnnotationDesc> annotations = new ArrayList<>();
DqJavaAnnotationDesc tableAnnotationDesc = new DqJavaAnnotationDesc();
tableAnnotationDesc.setName(Table.class.getSimpleName());
tableAnnotationDesc.setSimpleClassType(Table.class.getSimpleName());
tableAnnotationDesc.setFullClassType(Table.class.getName());
// 设置类注解参数---begin
List<DqJavaAnnotationParamDesc> tableAnnotationParamDescs = new ArrayList<>();
DqJavaAnnotationParamDesc tableAnnotationParamDesc = new DqJavaAnnotationParamDesc();
tableAnnotationParamDesc.setName("name");
tableAnnotationParamDesc.setValue(dataBaseConfig.getTableName());
tableAnnotationParamDescs.add(tableAnnotationParamDesc);
tableAnnotationDesc.setParams(tableAnnotationParamDescs);
// 设置类注解参数---end
annotations.add(tableAnnotationDesc);
DqJavaAnnotationDesc entityAnnotationDesc = new DqJavaAnnotationDesc();
entityAnnotationDesc.setName(Entity.class.getSimpleName());
entityAnnotationDesc.setSimpleClassType(Entity.class.getSimpleName());
entityAnnotationDesc.setFullClassType(Entity.class.getName());
annotations.add(entityAnnotationDesc);
return annotations;
}
Aggregations