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 CountByExampleMethodGenerator extends AbstractJavaMapperMethodGenerator {
28
29 public CountByExampleMethodGenerator() {
30 super();
31 }
32
33 @Override
34 public void addInterfaceElements(Interface interfaze) {
35 FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType(introspectedTable.getExampleType());
36
37 Set<FullyQualifiedJavaType> importedTypes = new TreeSet<>();
38 importedTypes.add(fqjt);
39
40 Method method = new Method(introspectedTable.getCountByExampleStatementId());
41 method.setVisibility(JavaVisibility.PUBLIC);
42 method.setAbstract(true);
43 method.setReturnType(new FullyQualifiedJavaType("long"));
44 method.addParameter(new Parameter(fqjt, "example"));
45 context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable);
46
47 addMapperAnnotations(method);
48
49 if (context.getPlugins().clientCountByExampleMethodGenerated(method, interfaze, introspectedTable)) {
50 addExtraImports(interfaze);
51 interfaze.addImportedTypes(importedTypes);
52 interfaze.addMethod(method);
53 }
54 }
55
56 public void addMapperAnnotations(Method method) {
57
58 }
59
60 public void addExtraImports(Interface interfaze) {
61
62 }
63 }