@@ -29,15 +29,16 @@ public class CommonDAOInterfacePlugin extends PluginAdapter {
29
29
private String expandDaoSuperClass ;
30
30
31
31
private ShellCallback shellCallback = null ;
32
+ private boolean useExample ;
32
33
33
34
public CommonDAOInterfacePlugin () {
34
35
shellCallback = new DefaultShellCallback (false );
36
+ this .useExample = "true" .equals (getProperties ().getProperty ("useExample" ));
35
37
}
36
38
37
39
@ Override
38
40
public List <GeneratedJavaFile > contextGenerateAdditionalJavaFiles (IntrospectedTable introspectedTable ) {
39
-
40
- JavaFormatter javaFormatter = context .getJavaFormatter ();
41
+ JavaFormatter javaFormatter = context .getJavaFormatter ();
41
42
String daoTargetDir = context .getJavaClientGeneratorConfiguration ().getTargetProject ();
42
43
String daoTargetPackage = context .getJavaClientGeneratorConfiguration ().getTargetPackage ();
43
44
List <GeneratedJavaFile > mapperJavaFiles = new ArrayList <GeneratedJavaFile >();
@@ -55,13 +56,17 @@ public List<GeneratedJavaFile> contextGenerateAdditionalJavaFiles(IntrospectedTa
55
56
mapperInterface .addJavaDocLine (" * " + "DAO公共基类,由MybatisGenerator自动生成请勿修改" );
56
57
mapperInterface .addJavaDocLine (" * " + "@param <Model> The Model Class" );
57
58
mapperInterface .addJavaDocLine (" * " + "@param <PK> The Primary Key Class" );
58
- mapperInterface .addJavaDocLine (" * " + "@param <E> The Example Class" );
59
+ if (useExample ) {
60
+ mapperInterface .addJavaDocLine (" * " + "@param <E> The Example Class" );
61
+ }
59
62
mapperInterface .addJavaDocLine (" */" );
60
63
61
64
FullyQualifiedJavaType daoBaseInterfaceJavaType = mapperInterface .getType ();
62
65
daoBaseInterfaceJavaType .addTypeArgument (new FullyQualifiedJavaType ("Model" ));
63
66
daoBaseInterfaceJavaType .addTypeArgument (new FullyQualifiedJavaType ("PK extends Serializable" ));
64
- daoBaseInterfaceJavaType .addTypeArgument (new FullyQualifiedJavaType ("E" ));
67
+ if (useExample ) {
68
+ daoBaseInterfaceJavaType .addTypeArgument (new FullyQualifiedJavaType ("E" ));
69
+ }
65
70
66
71
if (!this .methods .isEmpty ()) {
67
72
@@ -113,13 +118,14 @@ public boolean clientGenerated(Interface interfaze,
113
118
114
119
FullyQualifiedJavaType primaryKeyTypeJavaType = introspectedTable .getPrimaryKeyColumns ().get (0 ).getFullyQualifiedJavaType ();
115
120
daoSuperType .addTypeArgument (primaryKeyTypeJavaType );
116
-
117
- String exampleType = introspectedTable .getExampleType ();
118
- FullyQualifiedJavaType exampleTypeJavaType = new FullyQualifiedJavaType (exampleType );
119
- daoSuperType .addTypeArgument (exampleTypeJavaType );
120
-
121
- interfaze .addImportedType (primaryKeyTypeJavaType );
122
- interfaze .addImportedType (exampleTypeJavaType );
121
+ interfaze .addImportedType (primaryKeyTypeJavaType );
122
+
123
+ if (useExample ) {
124
+ String exampleType = introspectedTable .getExampleType ();
125
+ FullyQualifiedJavaType exampleTypeJavaType = new FullyQualifiedJavaType (exampleType );
126
+ daoSuperType .addTypeArgument (exampleTypeJavaType );
127
+ interfaze .addImportedType (exampleTypeJavaType );
128
+ }
123
129
interfaze .addImportedType (baseModelJavaType );
124
130
interfaze .addImportedType (daoSuperType );
125
131
interfaze .addSuperInterface (daoSuperType );
@@ -132,9 +138,11 @@ public boolean validate(List<String> list) {
132
138
}
133
139
134
140
private void interceptExampleParam (Method method ) {
135
- method .getParameters ().clear ();
136
- method .addParameter (new Parameter (new FullyQualifiedJavaType ("E" ), "example" ));
137
- methods .add (method );
141
+ if (useExample ) {
142
+ method .getParameters ().clear ();
143
+ method .addParameter (new Parameter (new FullyQualifiedJavaType ("E" ), "example" ));
144
+ methods .add (method );
145
+ }
138
146
}
139
147
140
148
private void interceptPrimaryKeyParam (Method method ) {
@@ -150,43 +158,49 @@ private void interceptModelParam(Method method) {
150
158
}
151
159
152
160
private void interceptModelAndExampleParam (Method method ) {
153
- List <Parameter > parameters = method .getParameters ();
154
- if (parameters .size () == 1 ) {
155
- interceptExampleParam (method );
156
- }else {
157
- method .getParameters ().clear ();
158
- Parameter parameter1 = new Parameter (new FullyQualifiedJavaType ("Model" ), "record" );
159
- parameter1 .addAnnotation ("@Param(\" record\" )" );
160
- method .addParameter (parameter1 );
161
-
162
- Parameter parameter2 = new Parameter (new FullyQualifiedJavaType ("E" ), "example" );
163
- parameter2 .addAnnotation ("@Param(\" example\" )" );
164
- method .addParameter (parameter2 );
165
- methods .add (method );
166
- }
161
+ if (useExample ) {
162
+ List <Parameter > parameters = method .getParameters ();
163
+ if (parameters .size () == 1 ) {
164
+ interceptExampleParam (method );
165
+ }else {
166
+ method .getParameters ().clear ();
167
+ Parameter parameter1 = new Parameter (new FullyQualifiedJavaType ("Model" ), "record" );
168
+ parameter1 .addAnnotation ("@Param(\" record\" )" );
169
+ method .addParameter (parameter1 );
170
+
171
+ Parameter parameter2 = new Parameter (new FullyQualifiedJavaType ("E" ), "example" );
172
+ parameter2 .addAnnotation ("@Param(\" example\" )" );
173
+ method .addParameter (parameter2 );
174
+ methods .add (method );
175
+ }
176
+ }
167
177
}
168
178
169
179
@ Override
170
180
public boolean clientCountByExampleMethodGenerated (Method method ,
171
181
Interface interfaze , IntrospectedTable introspectedTable ) {
172
- // interfaze
173
- interceptExampleParam (method );
174
- return false ;
175
- }
182
+ // interface
183
+ if (useExample ) {
184
+ interceptExampleParam (method );
185
+ }
186
+ return false ;
187
+ }
176
188
177
189
178
190
@ Override
179
191
public boolean clientDeleteByExampleMethodGenerated (Method method ,
180
192
Interface interfaze , IntrospectedTable introspectedTable ) {
181
- interceptExampleParam (method );
193
+ if (useExample ) {
194
+ interceptExampleParam (method );
195
+ }
182
196
return false ;
183
197
}
184
198
185
199
186
200
@ Override
187
201
public boolean clientDeleteByPrimaryKeyMethodGenerated (Method method ,
188
202
Interface interfaze , IntrospectedTable introspectedTable ) {
189
- interceptPrimaryKeyParam (method );
203
+ interceptPrimaryKeyParam (method );
190
204
return false ;
191
205
}
192
206
@@ -200,45 +214,55 @@ public boolean clientInsertMethodGenerated(Method method, Interface interfaze,
200
214
@ Override
201
215
public boolean clientSelectByExampleWithBLOBsMethodGenerated (Method method ,
202
216
Interface interfaze , IntrospectedTable introspectedTable ) {
203
- interceptExampleParam (method );
204
- method .setReturnType (new FullyQualifiedJavaType ("List<Model>" ));
217
+ if (useExample ) {
218
+ interceptExampleParam (method );
219
+ method .setReturnType (new FullyQualifiedJavaType ("List<Model>" ));
220
+ }
205
221
return false ;
206
222
}
207
223
208
224
@ Override
209
225
public boolean clientSelectByExampleWithoutBLOBsMethodGenerated (Method method ,
210
226
Interface interfaze , IntrospectedTable introspectedTable ) {
211
- interceptExampleParam (method );
212
- method .setReturnType (new FullyQualifiedJavaType ("List<Model>" ));
227
+ if (useExample ) {
228
+ interceptExampleParam (method );
229
+ method .setReturnType (new FullyQualifiedJavaType ("List<Model>" ));
230
+ }
213
231
return false ;
214
232
}
215
233
216
234
@ Override
217
235
public boolean clientSelectByPrimaryKeyMethodGenerated (Method method ,
218
236
Interface interfaze , IntrospectedTable introspectedTable ) {
219
- interceptPrimaryKeyParam (method );
237
+ interceptPrimaryKeyParam (method );
220
238
method .setReturnType (new FullyQualifiedJavaType ("Model" ));
221
239
return false ;
222
240
}
223
241
224
242
@ Override
225
243
public boolean clientUpdateByExampleSelectiveMethodGenerated (Method method ,
226
244
Interface interfaze , IntrospectedTable introspectedTable ) {
227
- interceptModelAndExampleParam (method );
245
+ if (useExample ) {
246
+ interceptModelAndExampleParam (method );
247
+ }
228
248
return false ;
229
249
}
230
250
231
251
@ Override
232
252
public boolean clientUpdateByExampleWithBLOBsMethodGenerated (Method method ,
233
253
Interface interfaze , IntrospectedTable introspectedTable ) {
234
- interceptModelAndExampleParam (method );
254
+ if (useExample ) {
255
+ interceptModelAndExampleParam (method );
256
+ }
235
257
return false ;
236
258
}
237
259
238
260
@ Override
239
261
public boolean clientUpdateByExampleWithoutBLOBsMethodGenerated (Method method ,
240
262
Interface interfaze , IntrospectedTable introspectedTable ) {
241
- interceptModelAndExampleParam (method );
263
+ if (useExample ) {
264
+ interceptModelAndExampleParam (method );
265
+ }
242
266
return false ;
243
267
}
244
268
@@ -251,20 +275,24 @@ public boolean clientUpdateByPrimaryKeySelectiveMethodGenerated(Method method,
251
275
252
276
@ Override
253
277
public boolean clientUpdateByExampleWithoutBLOBsMethodGenerated (Method method , TopLevelClass topLevelClass , IntrospectedTable introspectedTable ) {
254
- interceptModelAndExampleParam (method );
278
+ if (useExample ) {
279
+ interceptModelAndExampleParam (method );
280
+ }
255
281
return false ;
256
282
}
257
283
258
284
@ Override
259
285
public boolean clientUpdateByExampleSelectiveMethodGenerated (Method method , TopLevelClass topLevelClass , IntrospectedTable introspectedTable ) {
260
- interceptModelAndExampleParam (method );
286
+ if (useExample ) {
287
+ interceptModelAndExampleParam (method );
288
+ }
261
289
return false ;
262
290
}
263
291
264
292
@ Override
265
293
public boolean clientUpdateByPrimaryKeyWithBLOBsMethodGenerated (Method method ,
266
294
Interface interfaze , IntrospectedTable introspectedTable ) {
267
- interceptModelParam (method );
295
+ interceptModelParam (method );
268
296
return false ;
269
297
}
270
298
0 commit comments