跟进任务初始化

This commit is contained in:
zhangchenbiao
2023-08-14 10:51:30 +08:00
parent fa86db7da7
commit a54a84a285
32 changed files with 1255 additions and 55 deletions

View File

@@ -14,16 +14,20 @@ import org.mybatis.generator.codegen.mybatis3.IntrospectedTableMyBatis3Impl;
import org.mybatis.generator.codegen.mybatis3.ListUtilities;
import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities;
import org.mybatis.generator.codegen.mybatis3.javamapper.JavaMapperGenerator;
import org.mybatis.generator.codegen.mybatis3.javamapper.elements.SelectByExampleWithBLOBsMethodGenerator;
import org.mybatis.generator.codegen.mybatis3.xmlmapper.XMLMapperGenerator;
import org.mybatis.generator.codegen.mybatis3.xmlmapper.elements.AbstractXmlElementGenerator;
import org.mybatis.generator.codegen.mybatis3.xmlmapper.elements.InsertSelectiveElementGenerator;
import org.mybatis.generator.codegen.mybatis3.xmlmapper.elements.UpdateByPrimaryKeySelectiveElementGenerator;
import org.mybatis.generator.config.GeneratedKey;
import org.mybatis.generator.config.PropertyRegistry;
import org.mybatis.generator.internal.rules.Rules;
import org.mybatis.generator.internal.util.JavaBeansUtil;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import static org.mybatis.generator.internal.util.StringUtility.stringHasValue;
import static org.mybatis.generator.internal.util.messages.Messages.getString;
@@ -204,12 +208,17 @@ public class MyIntrospectedTableMyBatis3Impl extends IntrospectedTableMyBatis3Im
context.getCommentGenerator().addRootComment(answer);
addResultMapWithoutBLOBsElement(answer);
addResultMapWithBLOBsElement(answer);
addExampleWhereClauseElement(answer);
addMyBatis3UpdateByExampleWhereClauseElement(answer);
addBaseColumnListElement(answer);
addBlobColumnListElement(answer);
addInsertSelectiveElement(answer);
addUpdateByPrimaryKeySelectiveElement(answer);
addMyBatis3UpdateByExampleWhereClauseElement(answer);
addExampleWhereClauseElement(answer);
addSelectByExampleWithBLOBsElement(answer);
addSelectByExampleWithoutBLOBsElement(answer);
addUpdateByExampleWithBLOBsElement(answer);
addUpdateByExampleWithoutBLOBsElement(answer);
addUpdateByExampleSelectiveElement(answer);
return answer;
}
@@ -244,7 +253,6 @@ public class MyIntrospectedTableMyBatis3Impl extends IntrospectedTableMyBatis3Im
@Override
public List<CompilationUnit> getCompilationUnits() {
boolean isConfig = isConfigTable();
progressCallback.startTask(getString("Progress.17", //$NON-NLS-1$
introspectedTable.getFullyQualifiedTable().toString()));
CommentGenerator commentGenerator = context.getCommentGenerator();
@@ -268,30 +276,23 @@ public class MyIntrospectedTableMyBatis3Impl extends IntrospectedTableMyBatis3Im
interfaze.addSuperInterface(fqjt);
interfaze.addImportedType(fqjt);
}
if(!isConfig){
interfaze.addImportedType(new FullyQualifiedJavaType("org.apache.ibatis.annotations.Param"));
}
interfaze.addImportedType(new FullyQualifiedJavaType("org.apache.ibatis.annotations.Param"));
addInsertSelectiveMethod(interfaze);
addUpdateByPrimaryKeySelectiveMethod(interfaze);
List<Method> methods = interfaze.getMethods();
for (Method method : methods) {
List<Parameter> parameters = method.getParameters();
for (Parameter parameter : parameters) {
if(!isConfig){
String name = parameter.getName();
parameter.addAnnotation("@Param(\""+ name+"\")");
}
}
if(!isConfig){
Parameter enterpriseId = new Parameter(FullyQualifiedJavaType.getStringInstance(), "enterpriseId");
enterpriseId.addAnnotation("@Param(\"enterpriseId\")");
method.addParameter(enterpriseId);
String name = parameter.getName();
parameter.addAnnotation("@Param(\""+ name+"\")");
}
}
addSelectByExampleWithBLOBsMethod(interfaze);
addSelectByExampleWithoutBLOBsMethod(interfaze);
addUpdateByExampleSelectiveMethod(interfaze);
addUpdateByExampleWithoutBLOBsMethod(interfaze);
List<CompilationUnit> answer = new ArrayList<CompilationUnit>();
if (context.getPlugins().clientGenerated(interfaze, null,
introspectedTable)) {
if (context.getPlugins().clientGenerated(interfaze, null, introspectedTable)) {
answer.add(interfaze);
}
@@ -312,7 +313,6 @@ public class MyIntrospectedTableMyBatis3Impl extends IntrospectedTableMyBatis3Im
@Override
public void addElements(XmlElement parentElement) {
boolean isConfig = isConfigTable();
XmlElement answer = new XmlElement("insert"); //$NON-NLS-1$
answer.addAttribute(new Attribute(
@@ -383,9 +383,7 @@ public class MyIntrospectedTableMyBatis3Impl extends IntrospectedTableMyBatis3Im
}
sb.setLength(0);
if(!isConfig){
sb.append("record.");
}
sb.append("record.");
sb.append(introspectedColumn.getJavaProperty());
sb.append(" != null"); //$NON-NLS-1$
XmlElement insertNotNullElement = new XmlElement("if"); //$NON-NLS-1$
@@ -400,9 +398,7 @@ public class MyIntrospectedTableMyBatis3Impl extends IntrospectedTableMyBatis3Im
insertTrimElement.addElement(insertNotNullElement);
sb.setLength(0);
if(!isConfig){
sb.append("record.");
}
sb.append("record.");
sb.append(introspectedColumn.getJavaProperty());
sb.append(" != null"); //$NON-NLS-1$
XmlElement valuesNotNullElement = new XmlElement("if"); //$NON-NLS-1$
@@ -410,11 +406,7 @@ public class MyIntrospectedTableMyBatis3Impl extends IntrospectedTableMyBatis3Im
"test", sb.toString())); //$NON-NLS-1$
sb.setLength(0);
if(isConfig){
sb.append("#{"+introspectedColumn.getJavaProperty() + "}");
}else{
sb.append("#{record."+introspectedColumn.getJavaProperty() + "}");
}
sb.append("#{record."+introspectedColumn.getJavaProperty() + "}");
sb.append(',');
valuesNotNullElement.addElement(new TextElement(sb.toString()));
valuesTrimElement.addElement(valuesNotNullElement);
@@ -433,7 +425,6 @@ public class MyIntrospectedTableMyBatis3Impl extends IntrospectedTableMyBatis3Im
@Override
public void addElements(XmlElement parentElement) {
boolean isConfig = isConfigTable();
XmlElement answer = new XmlElement("update"); //$NON-NLS-1$
answer.addAttribute(new Attribute(
@@ -446,10 +437,6 @@ public class MyIntrospectedTableMyBatis3Impl extends IntrospectedTableMyBatis3Im
} else {
parameterType = introspectedTable.getBaseRecordType();
}
/*answer.addAttribute(new Attribute("parameterType", //$NON-NLS-1$
parameterType));*/
context.getCommentGenerator().addComment(answer);
StringBuilder sb = new StringBuilder();
@@ -463,9 +450,7 @@ public class MyIntrospectedTableMyBatis3Impl extends IntrospectedTableMyBatis3Im
for (IntrospectedColumn introspectedColumn : ListUtilities.removeGeneratedAlwaysColumns(introspectedTable.getNonPrimaryKeyColumns())) {
sb.setLength(0);
if(!isConfig){
sb.append("record.");
}
sb.append("record.");
sb.append(introspectedColumn.getJavaProperty());
sb.append(" != null"); //$NON-NLS-1$
XmlElement isNotNullElement = new XmlElement("if"); //$NON-NLS-1$
@@ -476,11 +461,7 @@ public class MyIntrospectedTableMyBatis3Impl extends IntrospectedTableMyBatis3Im
sb.append(MyBatis3FormattingUtilities
.getEscapedColumnName(introspectedColumn));
sb.append(" = ");
if(!isConfig){
sb.append("#{record."+introspectedColumn.getJavaProperty() + "}");
}else{
sb.append("#{"+introspectedColumn.getJavaProperty() + "}");
}
sb.append("#{record."+introspectedColumn.getJavaProperty() + "}");
sb.append(',');
isNotNullElement.addElement(new TextElement(sb.toString()));
@@ -499,11 +480,7 @@ public class MyIntrospectedTableMyBatis3Impl extends IntrospectedTableMyBatis3Im
sb.append(MyBatis3FormattingUtilities
.getEscapedColumnName(introspectedColumn));
sb.append(" = ");
if(isConfig){
sb.append("#{"+introspectedColumn.getJavaProperty() + "}");
}else{
sb.append("#{record."+introspectedColumn.getJavaProperty() + "}");
}
sb.append("#{record."+introspectedColumn.getJavaProperty() + "}");
answer.addElement(new TextElement(sb.toString()));
}
@@ -514,4 +491,54 @@ public class MyIntrospectedTableMyBatis3Impl extends IntrospectedTableMyBatis3Im
}
}
}
public class MySelectByExampleWithBLOBsMethodGenerator extends SelectByExampleWithBLOBsMethodGenerator {
public MySelectByExampleWithBLOBsMethodGenerator() {
super();
}
@Override
public void addInterfaceElements(Interface interfaze) {
Set<FullyQualifiedJavaType> importedTypes = new TreeSet<FullyQualifiedJavaType>();
FullyQualifiedJavaType type = new FullyQualifiedJavaType(
introspectedTable.getExampleType());
importedTypes.add(type);
importedTypes.add(FullyQualifiedJavaType.getNewListInstance());
Method method = new Method();
method.setVisibility(JavaVisibility.PUBLIC);
FullyQualifiedJavaType returnType = FullyQualifiedJavaType
.getNewListInstance();
FullyQualifiedJavaType listType;
if (introspectedTable.getRules().generateRecordWithBLOBsClass()) {
listType = new FullyQualifiedJavaType(introspectedTable
.getRecordWithBLOBsType());
} else {
// the blob fields must be rolled up into the base class
listType = new FullyQualifiedJavaType(introspectedTable
.getBaseRecordType());
}
importedTypes.add(listType);
returnType.addTypeArgument(listType);
method.setReturnType(returnType);
method.setName(introspectedTable
.getSelectByExampleWithBLOBsStatementId());
method.addParameter(new Parameter(type, "example")); //$NON-NLS-1$
context.getCommentGenerator().addGeneralMethodComment(method,
introspectedTable);
addMapperAnnotations(interfaze, method);
if (context.getPlugins()
.clientSelectByExampleWithBLOBsMethodGenerated(method, interfaze,
introspectedTable)) {
addExtraImports(interfaze);
interfaze.addImportedTypes(importedTypes);
interfaze.addMethod(method);
}
}
}
}