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
28
29
30
31
32 public class InsertSelectiveMethodGenerator extends
33 AbstractJavaMapperMethodGenerator {
34
35 public InsertSelectiveMethodGenerator() {
36 super();
37 }
38
39 @Override
40 public void addInterfaceElements(Interface interfaze) {
41 Set<FullyQualifiedJavaType> importedTypes = new TreeSet<FullyQualifiedJavaType>();
42 Method method = new Method();
43
44 method.setReturnType(FullyQualifiedJavaType.getIntInstance());
45 method.setVisibility(JavaVisibility.PUBLIC);
46 method.setName(introspectedTable.getInsertSelectiveStatementId());
47
48 FullyQualifiedJavaType parameterType = introspectedTable.getRules()
49 .calculateAllFieldsClass();
50
51 importedTypes.add(parameterType);
52 method.addParameter(new Parameter(parameterType, "record"));
53
54 context.getCommentGenerator().addGeneralMethodComment(method,
55 introspectedTable);
56
57 addMapperAnnotations(interfaze, method);
58
59 if (context.getPlugins().clientInsertSelectiveMethodGenerated(
60 method, interfaze, introspectedTable)) {
61 interfaze.addImportedTypes(importedTypes);
62 interfaze.addMethod(method);
63 }
64 }
65
66 public void addMapperAnnotations(Interface interfaze, Method method) {
67 }
68 }