Skip to content

Commit ddcab79

Browse files
committed
界面不使用Example相应的xml也不生成
1 parent 8d20c3b commit ddcab79

File tree

2 files changed

+75
-47
lines changed

2 files changed

+75
-47
lines changed

src/main/java/com/zzg/mybatis/generator/bridge/MybatisGeneratorBridge.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import com.zzg.mybatis.generator.model.DatabaseConfig;
44
import com.zzg.mybatis.generator.model.DbType;
55
import com.zzg.mybatis.generator.model.GeneratorConfig;
6-
import com.zzg.mybatis.generator.plugins.CommonDAOInterfacePlugin;
76
import com.zzg.mybatis.generator.plugins.DbRemarksCommentGenerator;
87
import com.zzg.mybatis.generator.util.ConfigHelper;
98
import com.zzg.mybatis.generator.util.DbUtil;
@@ -235,7 +234,8 @@ public void generate() throws Exception {
235234
if (DbType.MySQL.name().equals(selectedDatabaseConfig.getDbType())
236235
|| DbType.PostgreSQL.name().equals(selectedDatabaseConfig.getDbType())) {
237236
PluginConfiguration pluginConfiguration = new PluginConfiguration();
238-
pluginConfiguration.addProperty("type", "com.zzg.mybatis.generator.plugins.CommonDAOInterfacePlugin");
237+
pluginConfiguration.addProperty("useExample", String.valueOf(generatorConfig.isUseExample()));
238+
pluginConfiguration.addProperty("type", "com.zzg.mybatis.generator.plugins.CommonDAOInterfacePlugin");
239239
pluginConfiguration.setConfigurationType("com.zzg.mybatis.generator.plugins.CommonDAOInterfacePlugin");
240240
context.addPluginConfiguration(pluginConfiguration);
241241
}

src/main/java/com/zzg/mybatis/generator/plugins/CommonDAOInterfacePlugin.java

Lines changed: 73 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,16 @@ public class CommonDAOInterfacePlugin extends PluginAdapter {
2929
private String expandDaoSuperClass;
3030

3131
private ShellCallback shellCallback = null;
32+
private boolean useExample;
3233

3334
public CommonDAOInterfacePlugin() {
3435
shellCallback = new DefaultShellCallback(false);
36+
this.useExample = "true".equals(getProperties().getProperty("useExample"));
3537
}
3638

3739
@Override
3840
public List<GeneratedJavaFile> contextGenerateAdditionalJavaFiles(IntrospectedTable introspectedTable) {
39-
40-
JavaFormatter javaFormatter = context.getJavaFormatter();
41+
JavaFormatter javaFormatter = context.getJavaFormatter();
4142
String daoTargetDir = context.getJavaClientGeneratorConfiguration().getTargetProject();
4243
String daoTargetPackage = context.getJavaClientGeneratorConfiguration().getTargetPackage();
4344
List<GeneratedJavaFile> mapperJavaFiles = new ArrayList<GeneratedJavaFile>();
@@ -55,13 +56,17 @@ public List<GeneratedJavaFile> contextGenerateAdditionalJavaFiles(IntrospectedTa
5556
mapperInterface.addJavaDocLine(" * " + "DAO公共基类,由MybatisGenerator自动生成请勿修改");
5657
mapperInterface.addJavaDocLine(" * " + "@param <Model> The Model Class");
5758
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+
}
5962
mapperInterface.addJavaDocLine(" */");
6063

6164
FullyQualifiedJavaType daoBaseInterfaceJavaType = mapperInterface.getType();
6265
daoBaseInterfaceJavaType.addTypeArgument(new FullyQualifiedJavaType("Model"));
6366
daoBaseInterfaceJavaType.addTypeArgument(new FullyQualifiedJavaType("PK extends Serializable"));
64-
daoBaseInterfaceJavaType.addTypeArgument(new FullyQualifiedJavaType("E"));
67+
if (useExample) {
68+
daoBaseInterfaceJavaType.addTypeArgument(new FullyQualifiedJavaType("E"));
69+
}
6570

6671
if (!this.methods.isEmpty()) {
6772

@@ -113,13 +118,14 @@ public boolean clientGenerated(Interface interfaze,
113118

114119
FullyQualifiedJavaType primaryKeyTypeJavaType = introspectedTable.getPrimaryKeyColumns().get(0).getFullyQualifiedJavaType();
115120
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+
}
123129
interfaze.addImportedType(baseModelJavaType);
124130
interfaze.addImportedType(daoSuperType);
125131
interfaze.addSuperInterface(daoSuperType);
@@ -132,9 +138,11 @@ public boolean validate(List<String> list) {
132138
}
133139

134140
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+
}
138146
}
139147

140148
private void interceptPrimaryKeyParam(Method method) {
@@ -150,43 +158,49 @@ private void interceptModelParam(Method method) {
150158
}
151159

152160
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+
}
167177
}
168178

169179
@Override
170180
public boolean clientCountByExampleMethodGenerated(Method method,
171181
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+
}
176188

177189

178190
@Override
179191
public boolean clientDeleteByExampleMethodGenerated(Method method,
180192
Interface interfaze, IntrospectedTable introspectedTable) {
181-
interceptExampleParam(method);
193+
if (useExample) {
194+
interceptExampleParam(method);
195+
}
182196
return false;
183197
}
184198

185199

186200
@Override
187201
public boolean clientDeleteByPrimaryKeyMethodGenerated(Method method,
188202
Interface interfaze, IntrospectedTable introspectedTable) {
189-
interceptPrimaryKeyParam(method);
203+
interceptPrimaryKeyParam(method);
190204
return false;
191205
}
192206

@@ -200,45 +214,55 @@ public boolean clientInsertMethodGenerated(Method method, Interface interfaze,
200214
@Override
201215
public boolean clientSelectByExampleWithBLOBsMethodGenerated(Method method,
202216
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+
}
205221
return false;
206222
}
207223

208224
@Override
209225
public boolean clientSelectByExampleWithoutBLOBsMethodGenerated(Method method,
210226
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+
}
213231
return false;
214232
}
215233

216234
@Override
217235
public boolean clientSelectByPrimaryKeyMethodGenerated(Method method,
218236
Interface interfaze, IntrospectedTable introspectedTable) {
219-
interceptPrimaryKeyParam(method);
237+
interceptPrimaryKeyParam(method);
220238
method.setReturnType(new FullyQualifiedJavaType("Model"));
221239
return false;
222240
}
223241

224242
@Override
225243
public boolean clientUpdateByExampleSelectiveMethodGenerated(Method method,
226244
Interface interfaze, IntrospectedTable introspectedTable) {
227-
interceptModelAndExampleParam(method);
245+
if (useExample) {
246+
interceptModelAndExampleParam(method);
247+
}
228248
return false;
229249
}
230250

231251
@Override
232252
public boolean clientUpdateByExampleWithBLOBsMethodGenerated(Method method,
233253
Interface interfaze, IntrospectedTable introspectedTable) {
234-
interceptModelAndExampleParam(method);
254+
if (useExample) {
255+
interceptModelAndExampleParam(method);
256+
}
235257
return false;
236258
}
237259

238260
@Override
239261
public boolean clientUpdateByExampleWithoutBLOBsMethodGenerated(Method method,
240262
Interface interfaze, IntrospectedTable introspectedTable) {
241-
interceptModelAndExampleParam(method);
263+
if (useExample) {
264+
interceptModelAndExampleParam(method);
265+
}
242266
return false;
243267
}
244268

@@ -251,20 +275,24 @@ public boolean clientUpdateByPrimaryKeySelectiveMethodGenerated(Method method,
251275

252276
@Override
253277
public boolean clientUpdateByExampleWithoutBLOBsMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
254-
interceptModelAndExampleParam(method);
278+
if (useExample) {
279+
interceptModelAndExampleParam(method);
280+
}
255281
return false;
256282
}
257283

258284
@Override
259285
public boolean clientUpdateByExampleSelectiveMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
260-
interceptModelAndExampleParam(method);
286+
if (useExample) {
287+
interceptModelAndExampleParam(method);
288+
}
261289
return false;
262290
}
263291

264292
@Override
265293
public boolean clientUpdateByPrimaryKeyWithBLOBsMethodGenerated(Method method,
266294
Interface interfaze, IntrospectedTable introspectedTable) {
267-
interceptModelParam(method);
295+
interceptModelParam(method);
268296
return false;
269297
}
270298

0 commit comments

Comments
 (0)