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 org.mybatis.generator.api.dom.xml.Attribute;
19 import org.mybatis.generator.api.dom.xml.TextElement;
20 import org.mybatis.generator.api.dom.xml.XmlElement;
21 import org.mybatis.generator.config.PropertyRegistry;
22 import org.mybatis.generator.internal.util.StringUtility;
23
24 public class SimpleSelectAllElementGenerator extends AbstractXmlElementGenerator {
25
26 public SimpleSelectAllElementGenerator() {
27 super();
28 }
29
30 @Override
31 public void addElements(XmlElement parentElement) {
32 XmlElement answer = new XmlElement("select");
33
34 answer.addAttribute(new Attribute(
35 "id", introspectedTable.getSelectAllStatementId()));
36 answer.addAttribute(new Attribute("resultMap",
37 introspectedTable.getBaseResultMapId()));
38
39 context.getCommentGenerator().addComment(answer);
40
41 buildSelectList("select ", introspectedTable.getAllColumns()).forEach(answer::addElement);
42
43 StringBuilder sb = new StringBuilder();
44 sb.append("from ");
45 sb.append(introspectedTable.getAliasedFullyQualifiedTableNameAtRuntime());
46 answer.addElement(new TextElement(sb.toString()));
47
48 String orderByClause = introspectedTable.getTableConfigurationProperty(
49 PropertyRegistry.TABLE_SELECT_ALL_ORDER_BY_CLAUSE);
50 boolean hasOrderBy = StringUtility.stringHasValue(orderByClause);
51 if (hasOrderBy) {
52 sb.setLength(0);
53 sb.append("order by ");
54 sb.append(orderByClause);
55 answer.addElement(new TextElement(sb.toString()));
56 }
57
58 if (context.getPlugins().sqlMapSelectAllElementGenerated(answer, introspectedTable)) {
59 parentElement.addElement(answer);
60 }
61 }
62 }