跟进任务初始化
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user