1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.generator.codegen.mybatis3;
17
18 import static org.mybatis.generator.internal.util.StringUtility.escapeStringForJava;
19 import static org.mybatis.generator.internal.util.StringUtility.stringHasValue;
20
21 import org.mybatis.generator.api.IntrospectedColumn;
22
23
24
25
26
27
28 public class MyBatis3FormattingUtilities {
29
30
31
32
33 private MyBatis3FormattingUtilities() {
34 super();
35 }
36
37
38
39
40
41
42
43
44 public static String getParameterClause(
45 IntrospectedColumn introspectedColumn) {
46 return getParameterClause(introspectedColumn, null);
47 }
48
49
50
51
52
53
54
55
56
57
58 public static String getParameterClause(
59 IntrospectedColumn introspectedColumn, String prefix) {
60 StringBuilder sb = new StringBuilder();
61
62 sb.append("#{");
63 sb.append(introspectedColumn.getJavaProperty(prefix));
64 sb.append(",jdbcType=");
65 sb.append(introspectedColumn.getJdbcTypeName());
66
67 if (stringHasValue(introspectedColumn.getTypeHandler())) {
68 sb.append(",typeHandler=");
69 sb.append(introspectedColumn.getTypeHandler());
70 }
71
72 sb.append('}');
73
74 return sb.toString();
75 }
76
77
78
79
80
81
82
83
84
85 public static String getSelectListPhrase(
86 IntrospectedColumn introspectedColumn) {
87 if (stringHasValue(introspectedColumn.getTableAlias())) {
88 StringBuilder sb = new StringBuilder();
89
90 sb.append(getAliasedEscapedColumnName(introspectedColumn));
91 sb.append(" as ");
92 if (introspectedColumn.isColumnNameDelimited()) {
93 sb.append(introspectedColumn.getContext()
94 .getBeginningDelimiter());
95 }
96 sb.append(introspectedColumn.getTableAlias());
97 sb.append('_');
98 sb.append(escapeStringForMyBatis3(introspectedColumn
99 .getActualColumnName()));
100 if (introspectedColumn.isColumnNameDelimited()) {
101 sb.append(introspectedColumn.getContext().getEndingDelimiter());
102 }
103 return sb.toString();
104 } else {
105 return getEscapedColumnName(introspectedColumn);
106 }
107 }
108
109
110
111
112
113
114
115
116 public static String getEscapedColumnName(
117 IntrospectedColumn introspectedColumn) {
118 StringBuilder sb = new StringBuilder();
119 sb.append(escapeStringForMyBatis3(introspectedColumn
120 .getActualColumnName()));
121
122 if (introspectedColumn.isColumnNameDelimited()) {
123 sb.insert(0, introspectedColumn.getContext()
124 .getBeginningDelimiter());
125 sb.append(introspectedColumn.getContext().getEndingDelimiter());
126 }
127
128 return sb.toString();
129 }
130
131
132
133
134
135
136
137
138 public static String getAliasedEscapedColumnName(
139 IntrospectedColumn introspectedColumn) {
140 if (stringHasValue(introspectedColumn.getTableAlias())) {
141 StringBuilder sb = new StringBuilder();
142
143 sb.append(introspectedColumn.getTableAlias());
144 sb.append('.');
145 sb.append(getEscapedColumnName(introspectedColumn));
146 return sb.toString();
147 } else {
148 return getEscapedColumnName(introspectedColumn);
149 }
150 }
151
152
153
154
155
156
157
158
159
160
161
162
163
164 public static String getAliasedActualColumnName(
165 IntrospectedColumn introspectedColumn) {
166 StringBuilder sb = new StringBuilder();
167 if (stringHasValue(introspectedColumn.getTableAlias())) {
168 sb.append(introspectedColumn.getTableAlias());
169 sb.append('.');
170 }
171
172 if (introspectedColumn.isColumnNameDelimited()) {
173 sb.append(escapeStringForJava(introspectedColumn
174 .getContext().getBeginningDelimiter()));
175 }
176
177 sb.append(introspectedColumn.getActualColumnName());
178
179 if (introspectedColumn.isColumnNameDelimited()) {
180 sb.append(escapeStringForJava(introspectedColumn
181 .getContext().getEndingDelimiter()));
182 }
183
184 return sb.toString();
185 }
186
187
188
189
190
191
192
193
194
195 public static String getRenamedColumnNameForResultMap(
196 IntrospectedColumn introspectedColumn) {
197 if (stringHasValue(introspectedColumn.getTableAlias())) {
198 StringBuilder sb = new StringBuilder();
199
200 sb.append(introspectedColumn.getTableAlias());
201 sb.append('_');
202 sb.append(introspectedColumn.getActualColumnName());
203 return sb.toString();
204 } else {
205 return introspectedColumn.getActualColumnName();
206 }
207 }
208
209
210
211
212
213
214
215
216 public static String escapeStringForMyBatis3(String s) {
217
218 return s;
219 }
220 }