1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.generator.codegen.mybatis3.javamapper.elements;
17
18 import java.util.Set;
19 import java.util.TreeSet;
20
21 import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType;
22 import org.mybatis.generator.api.dom.java.Interface;
23 import org.mybatis.generator.api.dom.java.JavaVisibility;
24 import org.mybatis.generator.api.dom.java.Method;
25 import org.mybatis.generator.api.dom.java.Parameter;
26
27 public class InsertSelectiveMethodGenerator extends AbstractJavaMapperMethodGenerator {
28
29 public InsertSelectiveMethodGenerator() {
30 super();
31 }
32
33 @Override
34 public void addInterfaceElements(Interface interfaze) {
35 Method method = new Method(introspectedTable.getInsertSelectiveStatementId());
36
37 method.setReturnType(FullyQualifiedJavaType.getIntInstance());
38 method.setVisibility(JavaVisibility.PUBLIC);
39 method.setAbstract(true);
40
41 FullyQualifiedJavaType parameterType = introspectedTable.getRules().calculateAllFieldsClass();
42
43 Set<FullyQualifiedJavaType> importedTypes = new TreeSet<>();
44 importedTypes.add(parameterType);
45 method.addParameter(new Parameter(parameterType, "row"));
46
47 context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable);
48
49 addMapperAnnotations(method);
50
51 if (context.getPlugins().clientInsertSelectiveMethodGenerated(method, interfaze, introspectedTable)) {
52 addExtraImports(interfaze);
53 interfaze.addImportedTypes(importedTypes);
54 interfaze.addMethod(method);
55 }
56 }
57
58 public void addMapperAnnotations(Method method) {
59
60 }
61
62 public void addExtraImports(Interface interfaze) {
63
64 }
65 }