private void addLimitParam( TopLevelClass topLevelClass, IntrospectedTable introspectedTable, String name) { CommentGenerator commentGenerator = context.getCommentGenerator(); Field field = new Field(); field.setVisibility(JavaVisibility.PROTECTED); field.setType(FullyQualifiedJavaType.getIntInstance()); field.setName(name); field.setInitializationString("0"); commentGenerator.addFieldComment(field, introspectedTable); topLevelClass.addField(field); char c = name.charAt(0); String camel = Character.toUpperCase(c) + name.substring(1); Method method = new Method(); method.setVisibility(JavaVisibility.PUBLIC); method.setName("set" + camel); method.addParameter(new Parameter(FullyQualifiedJavaType.getIntInstance(), name)); method.addBodyLine("this." + name + "=" + name + ";"); commentGenerator.addGeneralMethodComment(method, introspectedTable); topLevelClass.addMethod(method); method = new Method(); method.setVisibility(JavaVisibility.PUBLIC); method.setReturnType(FullyQualifiedJavaType.getIntInstance()); method.setName("get" + camel); method.addBodyLine("return " + name + ";"); commentGenerator.addGeneralMethodComment(method, introspectedTable); topLevelClass.addMethod(method); }
private Method getMethodShell(Set<FullyQualifiedJavaType> importedTypes) { FullyQualifiedJavaType parameterType; if (introspectedTable.getRules().generateRecordWithBLOBsClass()) { parameterType = new FullyQualifiedJavaType(introspectedTable.getRecordWithBLOBsType()); } else { parameterType = new FullyQualifiedJavaType(introspectedTable.getBaseRecordType()); } importedTypes.add(parameterType); Method method = new Method(); method.setVisibility(JavaVisibility.PUBLIC); method.setReturnType(FullyQualifiedJavaType.getIntInstance()); method.setName( getDAOMethodNameCalculator().getUpdateByPrimaryKeyWithBLOBsMethodName(introspectedTable)); method.addParameter(new Parameter(parameterType, "record")); // $NON-NLS-1$ for (FullyQualifiedJavaType fqjt : daoTemplate.getCheckedExceptions()) { method.addException(fqjt); importedTypes.add(fqjt); } context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); return method; }
/** 添加方法 */ protected Method getOtherInteger( String methodName, IntrospectedTable introspectedTable, String tableName, int type) { Method method = new Method(); method.setName(methodName); method.setReturnType(FullyQualifiedJavaType.getIntInstance()); String params = addParams(introspectedTable, method, type); method.setVisibility(JavaVisibility.PUBLIC); StringBuilder sb = new StringBuilder(); // method.addBodyLine("try {"); sb.append("return this."); sb.append(getDaoShort()); if (introspectedTable.hasBLOBColumns() && (!"updateByPrimaryKeySelective".equals(methodName) && !"deleteByPrimaryKey".equals(methodName) && !"deleteByExample".equals(methodName) && !"updateByExampleSelective".equals(methodName))) { sb.append(methodName + "WithoutBLOBs"); } else { sb.append(methodName); } sb.append("("); sb.append(params); sb.append(");"); method.addBodyLine(sb.toString()); return method; }
/** 添加方法 */ protected Method countByExample(IntrospectedTable introspectedTable, String tableName) { Method method = new Method(); method.setName("countByExample"); method.setReturnType(FullyQualifiedJavaType.getIntInstance()); method.addParameter(new Parameter(pojoCriteriaType, "example")); method.setVisibility(JavaVisibility.PUBLIC); StringBuilder sb = new StringBuilder(); sb.append("int count = this."); sb.append(getDaoShort()); sb.append("countByExample"); sb.append("("); sb.append("example"); sb.append(");"); method.addBodyLine(sb.toString()); method.addBodyLine("logger.debug(\"count: {}\", count);"); method.addBodyLine("return count;"); return method; }
@Override public void addInterfaceElements(Interface interfaze) { Set<FullyQualifiedJavaType> importedTypes = new TreeSet<FullyQualifiedJavaType>(); FullyQualifiedJavaType type = new FullyQualifiedJavaType(introspectedTable.getExampleType()); importedTypes.add(type); Method method = new Method(); method.setVisibility(JavaVisibility.PUBLIC); method.setReturnType(FullyQualifiedJavaType.getIntInstance()); method.setName(introspectedTable.getDeleteByExampleStatementId()); method.addParameter(new Parameter(type, "condition")); // $NON-NLS-1$ context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable); addMapperAnnotations(interfaze, method); if (context .getPlugins() .clientDeleteByExampleMethodGenerated(method, interfaze, introspectedTable)) { interfaze.addImportedTypes(importedTypes); interfaze.addMethod(method); } }