PrimitiveTypeWrapper integerWrapper = FullyQualifiedJavaType.getIntInstance().getPrimitiveTypeWrapper(); Field limit = new Field(); limit.setName("limit"); limit.setVisibility(JavaVisibility.PRIVATE); limit.setType(integerWrapper); topLevelClass.addField(limit); Method setLimit = new Method(); setLimit.setVisibility(JavaVisibility.PUBLIC); setLimit.setName("setLimit"); setLimit.addParameter(new Parameter(integerWrapper, "limit")); setLimit.addBodyLine("this.limit = limit;"); topLevelClass.addMethod(setLimit); Method getLimit = new Method(); getLimit.setVisibility(JavaVisibility.PUBLIC); getLimit.setReturnType(integerWrapper); getLimit.setName("getLimit"); getLimit.addBodyLine("return limit;"); topLevelClass.addMethod(getLimit); Field offset = new Field(); offset.setName("offset"); offset.setVisibility(JavaVisibility.PRIVATE); offset.setType(integerWrapper); topLevelClass.addField(offset); Method setOffset = new Method();
protected void makeSerializable(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) { if(this.addGWTInterface) { topLevelClass.addImportedType(this.gwtSerializable); topLevelClass.addSuperInterface(this.gwtSerializable); } if(!this.suppressJavaInterface) { topLevelClass.addImportedType(this.serializable); topLevelClass.addSuperInterface(this.serializable); Field field = new Field(); field.setFinal(true); field.setInitializationString("1L"); field.setName("serialVersionUID"); field.setStatic(true); field.setType(new FullyQualifiedJavaType("long")); field.setVisibility(JavaVisibility.PRIVATE); this.context.getCommentGenerator().addFieldComment(field, introspectedTable); topLevelClass.addField(field); } }
/** * 添加给Example类序列化的方法 * @param topLevelClass * @param introspectedTable * @return */ @Override public boolean modelExampleClassGenerated(TopLevelClass topLevelClass,IntrospectedTable introspectedTable){ makeSerializable(topLevelClass, introspectedTable); for (InnerClass innerClass : topLevelClass.getInnerClasses()) { if ("GeneratedCriteria".equals(innerClass.getType().getShortName())) { innerClass.addSuperInterface(serializable); } if ("Criteria".equals(innerClass.getType().getShortName())) { innerClass.addSuperInterface(serializable); } if ("Criterion".equals(innerClass.getType().getShortName())) { innerClass.addSuperInterface(serializable); } } return true; }
/** * 列转换为字段 * * @param introspectedColumn * @return */ public static Field convertToJavaBeansField(IntrospectedColumn introspectedColumn) { FullyQualifiedJavaType fqjt = introspectedColumn.getFullyQualifiedJavaType(); String property = introspectedColumn.getJavaProperty(); Field field = new Field(); field.setVisibility(JavaVisibility.PRIVATE); field.setType(fqjt); field.setName(property); return field; }
/** * 生成的Mapper接口 * * @param interfaze * @param topLevelClass * @param introspectedTable * @return */ @Override public boolean clientGenerated(Interface interfaze, TopLevelClass topLevelClass, IntrospectedTable introspectedTable) { //获取实体类 FullyQualifiedJavaType entityType = new FullyQualifiedJavaType(introspectedTable.getBaseRecordType()); //import接口 for (String mapper : mappers) { interfaze.addImportedType(new FullyQualifiedJavaType(mapper)); interfaze.addSuperInterface(new FullyQualifiedJavaType(mapper + "<" + entityType.getShortName() + ">")); } //import实体类 interfaze.addImportedType(entityType); return true; }
/** * 创建 ColumnField * * @param column * @return */ public static ColumnField build(IntrospectedColumn column) { ColumnField field = new ColumnField(); field.setColumnName(column.getActualColumnName()); field.setJdbcType(column.getJdbcTypeName()); field.setFieldName(column.getJavaProperty()); field.setRemarks(column.getRemarks()); FullyQualifiedJavaType type = column.getFullyQualifiedJavaType(); field.setType(type); field.setTypePackage(type.getPackageName()); field.setShortTypeName(type.getShortName()); field.setFullTypeName(type.getFullyQualifiedName()); field.setIdentity(column.isIdentity()); field.setNullable(column.isNullable()); field.setSequenceColumn(column.isSequenceColumn()); field.setBlobColumn(column.isBLOBColumn()); field.setStringColumn(column.isStringColumn()); field.setJdbcCharacterColumn(column.isJdbcCharacterColumn()); field.setJdbcDateColumn(column.isJDBCDateColumn()); field.setJdbcTimeColumn(column.isJDBCTimeColumn()); field.setLength(column.getLength()); field.setScale(column.getScale()); return field; }
/** * setter方法注释 * * @param method * @param introspectedTable * @param introspectedColumn */ @Override public void addSetterComment(Method method, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) { StringBuilder sb = new StringBuilder(); method.addJavaDocLine("/**"); if (StringUtility.stringHasValue(introspectedColumn.getRemarks())) { sb.append(" * 设置"); sb.append(introspectedColumn.getRemarks()); method.addJavaDocLine(sb.toString()); method.addJavaDocLine(" *"); } Parameter parm = method.getParameters().get(0); sb.setLength(0); sb.append(" * @param "); sb.append(parm.getName()); if (StringUtility.stringHasValue(introspectedColumn.getRemarks())) { sb.append(" "); sb.append(introspectedColumn.getRemarks()); } method.addJavaDocLine(sb.toString()); method.addJavaDocLine(" */"); }
@Override public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) { super.addFieldComment(field, introspectedTable, introspectedColumn); if (introspectedColumn.getRemarks() != null && !"".equals(introspectedColumn.getRemarks())) { field.addJavaDocLine("/**"); field.addJavaDocLine(" * " + introspectedColumn.getRemarks()); addJavadocTag(field, false); field.addJavaDocLine(" */"); } }
/** * 删除标记 * * @param javaElement * @param markAsDoNotDelete */ protected void addJavadocTag(JavaElement javaElement, boolean markAsDoNotDelete) { StringBuilder sb = new StringBuilder(); sb.append(" * "); sb.append(MergeConstants.NEW_ELEMENT_TAG); if (markAsDoNotDelete) { sb.append(" do_not_delete_during_merge"); } javaElement.addJavaDocLine(sb.toString()); }
PrimitiveTypeWrapper integerWrapper = FullyQualifiedJavaType.getIntInstance().getPrimitiveTypeWrapper(); Field limit = new Field(); limit.setName("limit"); limit.setVisibility(JavaVisibility.PRIVATE); limit.setType(integerWrapper); topLevelClass.addField(limit); Method setLimit = new Method(); setLimit.setVisibility(JavaVisibility.PUBLIC); setLimit.setName("setLimit"); setLimit.addParameter(new Parameter(integerWrapper, "limit")); setLimit.addBodyLine("this.limit = limit;"); topLevelClass.addMethod(setLimit); Method getLimit = new Method(); getLimit.setVisibility(JavaVisibility.PUBLIC); getLimit.setReturnType(integerWrapper); getLimit.setName("getLimit"); getLimit.addBodyLine("return limit;"); topLevelClass.addMethod(getLimit); Field offset = new Field(); offset.setName("offset"); offset.setVisibility(JavaVisibility.PRIVATE); offset.setType(integerWrapper); topLevelClass.addField(offset); Method setOffset = new Method();
protected void makeSerializable(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) { if(this.addGWTInterface) { topLevelClass.addImportedType(this.gwtSerializable); topLevelClass.addSuperInterface(this.gwtSerializable); } if(!this.suppressJavaInterface) { topLevelClass.addImportedType(this.serializable); topLevelClass.addSuperInterface(this.serializable); Field field = new Field(); field.setFinal(true); field.setInitializationString("1L"); field.setName("serialVersionUID"); field.setStatic(true); field.setType(new FullyQualifiedJavaType("long")); field.setVisibility(JavaVisibility.PRIVATE); this.context.getCommentGenerator().addFieldComment(field, introspectedTable); topLevelClass.addField(field); } }
/** * 列转换为字段 * * @param introspectedColumn * @return */ public static Field convertToJavaBeansField(IntrospectedColumn introspectedColumn) { FullyQualifiedJavaType fqjt = introspectedColumn.getFullyQualifiedJavaType(); String property = introspectedColumn.getJavaProperty(); Field field = new Field(); field.setVisibility(JavaVisibility.PRIVATE); field.setType(fqjt); field.setName(property); return field; }
/** * 生成的Mapper接口 * * @param interfaze * @param topLevelClass * @param introspectedTable * @return */ @Override public boolean clientGenerated(Interface interfaze, TopLevelClass topLevelClass, IntrospectedTable introspectedTable) { //获取实体类 FullyQualifiedJavaType entityType = new FullyQualifiedJavaType(introspectedTable.getBaseRecordType()); //import接口 for (String mapper : mappers) { interfaze.addImportedType(new FullyQualifiedJavaType(mapper)); interfaze.addSuperInterface(new FullyQualifiedJavaType(mapper + "<" + entityType.getShortName() + ">")); } //import实体类 interfaze.addImportedType(entityType); return true; }
/** * 添加给Example类序列化的方法 * @param topLevelClass * @param introspectedTable * @return */ @Override public boolean modelExampleClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable){ makeSerializable(topLevelClass, introspectedTable); for (InnerClass innerClass : topLevelClass.getInnerClasses()) { if ("GeneratedCriteria".equals(innerClass.getType().getShortName())) { innerClass.addSuperInterface(serializable); } if ("Criteria".equals(innerClass.getType().getShortName())) { innerClass.addSuperInterface(serializable); } if ("Criterion".equals(innerClass.getType().getShortName())) { innerClass.addSuperInterface(serializable); } } return true; }
/** * 创建 ColumnField * * @param column * @return */ public static ColumnField build(IntrospectedColumn column) { ColumnField field = new ColumnField(); field.setColumnName(column.getActualColumnName()); field.setJdbcType(column.getJdbcTypeName()); field.setFieldName(column.getJavaProperty()); field.setRemarks(column.getRemarks()); FullyQualifiedJavaType type = column.getFullyQualifiedJavaType(); field.setType(type); field.setTypePackage(type.getPackageName()); field.setShortTypeName(type.getShortName()); field.setFullTypeName(type.getFullyQualifiedName()); field.setIdentity(column.isIdentity()); field.setNullable(column.isNullable()); field.setSequenceColumn(column.isSequenceColumn()); field.setBlobColumn(column.isBLOBColumn()); field.setStringColumn(column.isStringColumn()); field.setJdbcCharacterColumn(column.isJdbcCharacterColumn()); field.setJdbcDateColumn(column.isJDBCDateColumn()); field.setJdbcTimeColumn(column.isJDBCTimeColumn()); field.setLength(column.getLength()); field.setScale(column.getScale()); return field; }
/** * setter方法注释 * * @param method * @param introspectedTable * @param introspectedColumn */ @Override public void addSetterComment(Method method, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) { StringBuilder sb = new StringBuilder(); method.addJavaDocLine("/**"); if (StringUtility.stringHasValue(introspectedColumn.getRemarks())) { sb.append(" * 设置"); sb.append(introspectedColumn.getRemarks()); method.addJavaDocLine(sb.toString()); method.addJavaDocLine(" *"); } Parameter parm = method.getParameters().get(0); sb.setLength(0); sb.append(" * @param "); sb.append(parm.getName()); if (StringUtility.stringHasValue(introspectedColumn.getRemarks())) { sb.append(" "); sb.append(introspectedColumn.getRemarks()); } method.addJavaDocLine(sb.toString()); method.addJavaDocLine(" */"); }
/** * 删除标记 * * @param javaElement * @param markAsDoNotDelete */ protected void addJavadocTag(JavaElement javaElement, boolean markAsDoNotDelete) { StringBuilder sb = new StringBuilder(); sb.append(" * "); sb.append(MergeConstants.NEW_ELEMENT_TAG); if (markAsDoNotDelete) { sb.append(" do_not_delete_during_merge"); } javaElement.addJavaDocLine(sb.toString()); }
PrimitiveTypeWrapper integerWrapper = FullyQualifiedJavaType.getIntInstance().getPrimitiveTypeWrapper(); Field limit = new Field(); limit.setName("limit"); limit.setVisibility(JavaVisibility.PRIVATE); limit.setType(integerWrapper); topLevelClass.addField(limit); Method setLimit = new Method(); setLimit.setVisibility(JavaVisibility.PUBLIC); setLimit.setName("setLimit"); setLimit.addParameter(new Parameter(integerWrapper, "limit")); setLimit.addBodyLine("this.limit = limit;"); topLevelClass.addMethod(setLimit); Method getLimit = new Method(); getLimit.setVisibility(JavaVisibility.PUBLIC); getLimit.setReturnType(integerWrapper); getLimit.setName("getLimit"); getLimit.addBodyLine("return limit;"); topLevelClass.addMethod(getLimit); Field offset = new Field(); offset.setName("offset"); offset.setVisibility(JavaVisibility.PRIVATE); offset.setType(integerWrapper); topLevelClass.addField(offset); Method setOffset = new Method();
protected void makeSerializable(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) { if(this.addGWTInterface) { topLevelClass.addImportedType(this.gwtSerializable); topLevelClass.addSuperInterface(this.gwtSerializable); } if(!this.suppressJavaInterface) { topLevelClass.addImportedType(this.serializable); topLevelClass.addSuperInterface(this.serializable); Field field = new Field(); field.setFinal(true); field.setInitializationString("1L"); field.setName("serialVersionUID"); field.setStatic(true); field.setType(new FullyQualifiedJavaType("long")); field.setVisibility(JavaVisibility.PRIVATE); this.context.getCommentGenerator().addFieldComment(field, introspectedTable); topLevelClass.addField(field); } }
/** * 添加给Example类序列化的方法 * @param topLevelClass * @param introspectedTable * @return */ @Override public boolean modelExampleClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable){ makeSerializable(topLevelClass, introspectedTable); for (InnerClass innerClass : topLevelClass.getInnerClasses()) { if ("GeneratedCriteria".equals(innerClass.getType().getShortName())) { innerClass.addSuperInterface(serializable); } if ("Criteria".equals(innerClass.getType().getShortName())) { innerClass.addSuperInterface(serializable); } if ("Criterion".equals(innerClass.getType().getShortName())) { innerClass.addSuperInterface(serializable); } } return true; }