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 InsertMethodGenerator extends AbstractJavaMapperMethodGenerator {
33
34 boolean isSimple;
35
36 public InsertMethodGenerator(boolean isSimple) {
37 super();
38 this.isSimple = isSimple;
39 }
40
41 @Override
42 public void addInterfaceElements(Interface interfaze) {
43 Set<FullyQualifiedJavaType> importedTypes = new TreeSet<FullyQualifiedJavaType>();
44 Method method = new Method();
45
46 method.setReturnType(FullyQualifiedJavaType.getIntInstance());
47 method.setVisibility(JavaVisibility.PUBLIC);
48 method.setName(introspectedTable.getInsertStatementId());
49
50 FullyQualifiedJavaType parameterType;
51 if (isSimple) {
52 parameterType = new FullyQualifiedJavaType(
53 introspectedTable.getBaseRecordType());
54 } else {
55 parameterType = introspectedTable.getRules()
56 .calculateAllFieldsClass();
57 }
58
59 importedTypes.add(parameterType);
60 method.addParameter(new Parameter(parameterType, "record"));
61
62 context.getCommentGenerator().addGeneralMethodComment(method,
63 introspectedTable);
64
65 addMapperAnnotations(interfaze, method);
66
67 if (context.getPlugins().clientInsertMethodGenerated(method, interfaze,
68 introspectedTable)) {
69 interfaze.addImportedTypes(importedTypes);
70 interfaze.addMethod(method);
71 }
72 }
73
74 public void addMapperAnnotations(Interface interfaze, Method method) {
75 }
76 }