1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.generator.codegen.ibatis2.sqlmap.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
22
23
24
25
26
27 public class CountByExampleElementGenerator extends AbstractXmlElementGenerator {
28
29 public CountByExampleElementGenerator() {
30 super();
31 }
32
33 @Override
34 public void addElements(XmlElement parentElement) {
35 XmlElement answer = new XmlElement("select");
36
37 answer.addAttribute(new Attribute(
38 "id", introspectedTable.getCountByExampleStatementId()));
39 answer.addAttribute(new Attribute(
40 "parameterClass", introspectedTable.getExampleType()));
41 answer.addAttribute(new Attribute("resultClass", "java.lang.Integer"));
42
43 context.getCommentGenerator().addComment(answer);
44
45 StringBuilder sb = new StringBuilder();
46 sb.append("select count(*) from ");
47 sb.append(introspectedTable
48 .getAliasedFullyQualifiedTableNameAtRuntime());
49 answer.addElement(new TextElement(sb.toString()));
50
51 XmlElement includeElement = new XmlElement("include");
52 sb.setLength(0);
53 sb.append(introspectedTable.getIbatis2SqlMapNamespace());
54 sb.append('.');
55 sb.append(introspectedTable.getExampleWhereClauseId());
56 includeElement.addAttribute(new Attribute("refid",
57 sb.toString()));
58
59 answer.addElement(includeElement);
60
61 if (context.getPlugins().sqlMapCountByExampleElementGenerated(
62 answer, introspectedTable)) {
63 parentElement.addElement(answer);
64 }
65 }
66 }