1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.generator.codegen.mybatis3.xmlmapper.elements;
17
18 import static org.mybatis.generator.internal.util.StringUtility.stringHasValue;
19
20 import org.mybatis.generator.api.dom.xml.Attribute;
21 import org.mybatis.generator.api.dom.xml.TextElement;
22 import org.mybatis.generator.api.dom.xml.XmlElement;
23
24
25
26
27
28
29 public class SelectByExampleWithoutBLOBsElementGenerator extends
30 AbstractXmlElementGenerator {
31
32 public SelectByExampleWithoutBLOBsElementGenerator() {
33 super();
34 }
35
36 @Override
37 public void addElements(XmlElement parentElement) {
38 String fqjt = introspectedTable.getExampleType();
39
40 XmlElement answer = new XmlElement("select");
41
42 answer.addAttribute(new Attribute("id",
43 introspectedTable.getSelectByExampleStatementId()));
44 answer.addAttribute(new Attribute(
45 "resultMap", introspectedTable.getBaseResultMapId()));
46 answer.addAttribute(new Attribute("parameterType", fqjt));
47
48 context.getCommentGenerator().addComment(answer);
49
50 answer.addElement(new TextElement("select"));
51 XmlElement ifElement = new XmlElement("if");
52 ifElement.addAttribute(new Attribute("test", "distinct"));
53 ifElement.addElement(new TextElement("distinct"));
54 answer.addElement(ifElement);
55
56 StringBuilder sb = new StringBuilder();
57 if (stringHasValue(introspectedTable
58 .getSelectByExampleQueryId())) {
59 sb.append('\'');
60 sb.append(introspectedTable.getSelectByExampleQueryId());
61 sb.append("' as QUERYID,");
62 answer.addElement(new TextElement(sb.toString()));
63 }
64 answer.addElement(getBaseColumnListElement());
65
66 sb.setLength(0);
67 sb.append("from ");
68 sb.append(introspectedTable
69 .getAliasedFullyQualifiedTableNameAtRuntime());
70 answer.addElement(new TextElement(sb.toString()));
71 answer.addElement(getExampleIncludeElement());
72
73 ifElement = new XmlElement("if");
74 ifElement.addAttribute(new Attribute("test", "orderByClause != null"));
75 ifElement.addElement(new TextElement("order by ${orderByClause}"));
76 answer.addElement(ifElement);
77
78 if (context.getPlugins()
79 .sqlMapSelectByExampleWithoutBLOBsElementGenerated(answer,
80 introspectedTable)) {
81 parentElement.addElement(answer);
82 }
83 }
84 }