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 UpdateByExampleWithoutBLOBsMethodGenerator extends
33 AbstractJavaMapperMethodGenerator {
34
35 public UpdateByExampleWithoutBLOBsMethodGenerator() {
36 super();
37 }
38
39 @Override
40 public void addInterfaceElements(Interface interfaze) {
41 Set<FullyQualifiedJavaType> importedTypes = new TreeSet<FullyQualifiedJavaType>();
42 Method method = new Method();
43 method.setVisibility(JavaVisibility.PUBLIC);
44 method.setReturnType(FullyQualifiedJavaType.getIntInstance());
45 method.setName(introspectedTable.getUpdateByExampleStatementId());
46
47 FullyQualifiedJavaType parameterType;
48 if (introspectedTable.getRules().generateBaseRecordClass()) {
49 parameterType = new FullyQualifiedJavaType(introspectedTable
50 .getBaseRecordType());
51 } else {
52 parameterType = new FullyQualifiedJavaType(introspectedTable
53 .getPrimaryKeyType());
54 }
55 method.addParameter(new Parameter(parameterType,
56 "record", "@Param(\"record\")"));
57 importedTypes.add(parameterType);
58
59 FullyQualifiedJavaType exampleType = new FullyQualifiedJavaType(
60 introspectedTable.getExampleType());
61 method.addParameter(new Parameter(exampleType,
62 "example", "@Param(\"example\")"));
63 importedTypes.add(exampleType);
64
65 importedTypes.add(new FullyQualifiedJavaType(
66 "org.apache.ibatis.annotations.Param"));
67
68 context.getCommentGenerator().addGeneralMethodComment(method,
69 introspectedTable);
70
71 addMapperAnnotations(interfaze, method);
72
73 if (context.getPlugins()
74 .clientUpdateByExampleWithoutBLOBsMethodGenerated(method,
75 interfaze, introspectedTable)) {
76 interfaze.addImportedTypes(importedTypes);
77 interfaze.addMethod(method);
78 }
79 }
80
81 public void addMapperAnnotations(Interface interfaze, Method method) {
82 }
83 }