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
23 public class AnnotatedInsertSelectiveMethodGenerator extends InsertSelectiveMethodGenerator {
24
25 public AnnotatedInsertSelectiveMethodGenerator() {
26 super();
27 }
28
29 @Override
30 public void addMapperAnnotations(Method method) {
31 FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(introspectedTable.getMyBatis3SqlProviderType());
32
33 String s = "@InsertProvider(type="
34 + fqjt.getShortName()
35 + ".class, method=\""
36 + introspectedTable.getInsertSelectiveStatementId()
37 + "\")";
38 method.addAnnotation(s);
39
40 buildGeneratedKeyAnnotation().ifPresent(method::addAnnotation);
41 }
42
43 @Override
44 public void addExtraImports(Interface interfaze) {
45 interfaze.addImportedTypes(buildGeneratedKeyImportsIfRequired());
46 interfaze.addImportedType(
47 new FullyQualifiedJavaType("org.apache.ibatis.annotations.InsertProvider"));
48 }
49 }