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