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 UpdateByExampleWithBLOBsMethodGenerator extends
33 AbstractJavaMapperMethodGenerator {
34
35 public UpdateByExampleWithBLOBsMethodGenerator() {
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
46 .getUpdateByExampleWithBLOBsStatementId());
47
48 FullyQualifiedJavaType parameterType;
49 if (introspectedTable.getRules().generateRecordWithBLOBsClass()) {
50 parameterType = new FullyQualifiedJavaType(introspectedTable
51 .getRecordWithBLOBsType());
52 } else {
53 parameterType = new FullyQualifiedJavaType(introspectedTable
54 .getBaseRecordType());
55 }
56 method.addParameter(new Parameter(parameterType,
57 "record", "@Param(\"record\")"));
58 importedTypes.add(parameterType);
59
60 FullyQualifiedJavaType exampleType = new FullyQualifiedJavaType(
61 introspectedTable.getExampleType());
62 method.addParameter(new Parameter(exampleType,
63 "example", "@Param(\"example\")"));
64 importedTypes.add(exampleType);
65
66 importedTypes.add(new FullyQualifiedJavaType(
67 "org.apache.ibatis.annotations.Param"));
68
69 context.getCommentGenerator().addGeneralMethodComment(method,
70 introspectedTable);
71
72 addMapperAnnotations(interfaze, method);
73
74 if (context.getPlugins()
75 .clientUpdateByExampleWithBLOBsMethodGenerated(method, interfaze,
76 introspectedTable)) {
77 interfaze.addImportedTypes(importedTypes);
78 interfaze.addMethod(method);
79 }
80 }
81
82 public void addMapperAnnotations(Interface interfaze, Method method) {
83 return;
84 }
85 }