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 public class SelectByExampleWithoutBLOBsElementGenerator extends AbstractXmlElementGenerator {
25
26 public SelectByExampleWithoutBLOBsElementGenerator() {
27 super();
28 }
29
30 @Override
31 public void addElements(XmlElement parentElement) {
32 XmlElement answer = new XmlElement("select");
33
34 answer.addAttribute(new Attribute("id",
35 introspectedTable.getSelectByExampleStatementId()));
36 answer.addAttribute(new Attribute(
37 "resultMap", introspectedTable.getBaseResultMapId()));
38 answer.addAttribute(new Attribute("parameterType", introspectedTable.getExampleType()));
39
40 context.getCommentGenerator().addComment(answer);
41
42 answer.addElement(new TextElement("select"));
43 XmlElement ifElement = new XmlElement("if");
44 ifElement.addAttribute(new Attribute("test", "distinct"));
45 ifElement.addElement(new TextElement("distinct"));
46 answer.addElement(ifElement);
47
48 StringBuilder sb = new StringBuilder();
49 if (stringHasValue(introspectedTable.getSelectByExampleQueryId())) {
50 sb.append('\'');
51 sb.append(introspectedTable.getSelectByExampleQueryId());
52 sb.append("' as QUERYID,");
53 answer.addElement(new TextElement(sb.toString()));
54 }
55 answer.addElement(getBaseColumnListElement());
56
57 sb.setLength(0);
58 sb.append("from ");
59 sb.append(introspectedTable.getAliasedFullyQualifiedTableNameAtRuntime());
60 answer.addElement(new TextElement(sb.toString()));
61 answer.addElement(getExampleIncludeElement());
62
63 ifElement = new XmlElement("if");
64 ifElement.addAttribute(new Attribute("test", "orderByClause != null"));
65 ifElement.addElement(new TextElement("order by ${orderByClause}"));
66 answer.addElement(ifElement);
67
68 if (context.getPlugins().sqlMapSelectByExampleWithoutBLOBsElementGenerated(answer, introspectedTable)) {
69 parentElement.addElement(answer);
70 }
71 }
72 }