1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated;
17
18 import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType;
19 import org.mybatis.generator.api.dom.java.Interface;
20 import org.mybatis.generator.api.dom.java.Method;
21 import org.mybatis.generator.codegen.mybatis3.javamapper.elements.InsertSelectiveMethodGenerator;
22 import org.mybatis.generator.config.GeneratedKey;
23
24
25
26
27
28 public class AnnotatedInsertSelectiveMethodGenerator extends
29 InsertSelectiveMethodGenerator {
30
31 public AnnotatedInsertSelectiveMethodGenerator() {
32 super();
33 }
34
35 @Override
36 public void addMapperAnnotations(Interface interfaze, Method method) {
37 FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(introspectedTable.getMyBatis3SqlProviderType());
38 interfaze.addImportedType(new FullyQualifiedJavaType("org.apache.ibatis.annotations.InsertProvider"));
39 StringBuilder sb = new StringBuilder();
40 sb.append("@InsertProvider(type=");
41 sb.append(fqjt.getShortName());
42 sb.append(".class, method=\"");
43 sb.append(introspectedTable.getInsertSelectiveStatementId());
44 sb.append("\")");
45
46 method.addAnnotation(sb.toString());
47
48 GeneratedKey gk = introspectedTable.getGeneratedKey();
49 if (gk != null) {
50 addGeneratedKeyAnnotation(interfaze, method, gk);
51 }
52 }
53 }