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
22 public class DeleteByPrimaryKeyElementGenerator extends AbstractXmlElementGenerator {
23
24 private final boolean isSimple;
25
26 public DeleteByPrimaryKeyElementGenerator(boolean isSimple) {
27 super();
28 this.isSimple = isSimple;
29 }
30
31 @Override
32 public void addElements(XmlElement parentElement) {
33 XmlElement answer = new XmlElement("delete");
34
35 answer.addAttribute(new Attribute("id", introspectedTable.getDeleteByPrimaryKeyStatementId()));
36 String parameterClass;
37 if (!isSimple && introspectedTable.getRules().generatePrimaryKeyClass()) {
38 parameterClass = introspectedTable.getPrimaryKeyType();
39 } else {
40
41
42 if (introspectedTable.getPrimaryKeyColumns().size() > 1) {
43 parameterClass = "map";
44 } else {
45 parameterClass =
46 introspectedTable.getPrimaryKeyColumns().get(0).getFullyQualifiedJavaType().toString();
47 }
48 }
49 answer.addAttribute(new Attribute("parameterType", parameterClass));
50
51 context.getCommentGenerator().addComment(answer);
52
53 String sb = "delete from " + introspectedTable.getFullyQualifiedTableNameAtRuntime();
54 answer.addElement(new TextElement(sb));
55
56 buildPrimaryKeyWhereClause().forEach(answer::addElement);
57
58 if (context.getPlugins().sqlMapDeleteByPrimaryKeyElementGenerated(answer,introspectedTable)) {
59 parentElement.addElement(answer);
60 }
61 }
62 }