Skip to content

Commit 0ac6bb0

Browse files
committed
添加toString/hashCode/equals方法生成
1 parent 08d35ac commit 0ac6bb0

File tree

4 files changed

+38
-7
lines changed

4 files changed

+38
-7
lines changed

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

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,17 @@ public void generate() throws Exception {
133133
serializablePluginConfiguration.addProperty("type", "org.mybatis.generator.plugins.SerializablePlugin");
134134
serializablePluginConfiguration.setConfigurationType("org.mybatis.generator.plugins.SerializablePlugin");
135135
context.addPluginConfiguration(serializablePluginConfiguration);
136-
136+
// toString, hashCode, equals插件
137+
if (generatorConfig.isNeedToStringHashcodeEquals()) {
138+
PluginConfiguration pluginConfiguration1 = new PluginConfiguration();
139+
pluginConfiguration1.addProperty("type", "org.mybatis.generator.plugins.EqualsHashCodePlugin");
140+
pluginConfiguration1.setConfigurationType("org.mybatis.generator.plugins.EqualsHashCodePlugin");
141+
context.addPluginConfiguration(pluginConfiguration1);
142+
PluginConfiguration pluginConfiguration2 = new PluginConfiguration();
143+
pluginConfiguration2.addProperty("type", "org.mybatis.generator.plugins.ToStringPlugin");
144+
pluginConfiguration2.setConfigurationType("org.mybatis.generator.plugins.ToStringPlugin");
145+
context.addPluginConfiguration(pluginConfiguration2);
146+
}
137147
// limit/offset插件
138148
if (generatorConfig.isOffsetLimit()) {
139149
if (DbType.MySQL.name().equals(selectedDatabaseConfig.getDbType())

src/main/java/com/zzg/mybatis/generator/controller/MainUIController.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ public class MainUIController extends BaseFXController {
7171
@FXML
7272
private CheckBox commentCheckBox;
7373
@FXML
74+
private CheckBox needToStringHashcodeEquals;
75+
@FXML
7476
private CheckBox annotationCheckBox;
7577
@FXML
7678
private CheckBox useActualColumnNamesCheckbox;
@@ -298,6 +300,7 @@ public GeneratorConfig getGeneratorConfigFromUI() {
298300
generatorConfig.setDomainObjectName(domainObjectNameField.getText());
299301
generatorConfig.setOffsetLimit(offsetLimitCheckBox.isSelected());
300302
generatorConfig.setComment(commentCheckBox.isSelected());
303+
generatorConfig.setNeedToStringHashcodeEquals(needToStringHashcodeEquals.isSelected());
301304
generatorConfig.setAnnotation(annotationCheckBox.isSelected());
302305
generatorConfig.setUseActualColumnNames(useActualColumnNamesCheckbox.isSelected());
303306
return generatorConfig;

src/main/java/com/zzg/mybatis/generator/model/GeneratorConfig.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ public class GeneratorConfig {
4040

4141
private boolean comment;
4242

43+
private boolean needToStringHashcodeEquals;
44+
4345
private boolean annotation;
4446

4547
private boolean useActualColumnNames;
@@ -150,7 +152,15 @@ public void setComment(boolean comment) {
150152
this.comment = comment;
151153
}
152154

153-
public boolean isAnnotation() {
155+
public boolean isNeedToStringHashcodeEquals() {
156+
return needToStringHashcodeEquals;
157+
}
158+
159+
public void setNeedToStringHashcodeEquals(boolean needToStringHashcodeEquals) {
160+
this.needToStringHashcodeEquals = needToStringHashcodeEquals;
161+
}
162+
163+
public boolean isAnnotation() {
154164
return annotation;
155165
}
156166

src/main/resources/fxml/MainUI.fxml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22

3+
<?import javafx.scene.*?>
4+
<?import javafx.scene.text.*?>
35
<?import javafx.geometry.*?>
46
<?import javafx.scene.control.*?>
57
<?import javafx.scene.Cursor?>
68
<?import javafx.scene.layout.*?>
79
<?import javafx.scene.text.Font?>
810
<?import java.lang.*?>
11+
912
<BorderPane prefHeight="613.0" prefWidth="918.0" stylesheets="@../style.css" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.zzg.mybatis.generator.controller.MainUIController">
1013
<top>
1114
<VBox>
@@ -61,8 +64,8 @@
6164
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
6265
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
6366
<RowConstraints maxHeight="72.0" minHeight="10.0" prefHeight="56.0" vgrow="SOMETIMES" />
64-
<RowConstraints maxHeight="63.0" minHeight="8.0" prefHeight="63.0" vgrow="SOMETIMES" />
65-
<RowConstraints maxHeight="92.0" minHeight="62.0" prefHeight="62.0" />
67+
<RowConstraints maxHeight="114.0" minHeight="8.0" prefHeight="58.0" vgrow="SOMETIMES" />
68+
<RowConstraints maxHeight="99.0" minHeight="11.0" prefHeight="95.0" />
6669
</rowConstraints>
6770
<children>
6871
<Label text="表名" />
@@ -166,12 +169,17 @@
166169
<GridPane.margin>
167170
<Insets left="5.0" />
168171
</GridPane.margin></TextField>
169-
<VBox spacing="5.0" GridPane.columnIndex="1" GridPane.columnSpan="4" GridPane.rowIndex="7">
172+
<VBox prefHeight="53.0" prefWidth="536.0" spacing="10.0" GridPane.columnIndex="1" GridPane.columnSpan="4" GridPane.rowIndex="7">
170173
<children>
171174
<HBox alignment="CENTER_LEFT" spacing="10.0" GridPane.columnIndex="1" GridPane.columnSpan="3" GridPane.rowIndex="8">
172175
<children>
173176
<CheckBox fx:id="offsetLimitCheckBox" minWidth="100.0" mnemonicParsing="false" selected="true" text="分页" GridPane.columnIndex="1" GridPane.rowIndex="8" />
174-
<CheckBox fx:id="commentCheckBox" mnemonicParsing="false" selected="true" text="数据库表注释所有POJO的注释" />
177+
<CheckBox fx:id="commentCheckBox" mnemonicParsing="false" selected="true" text="生成实体域注释(来自表注释)" />
178+
</children>
179+
</HBox>
180+
<HBox prefHeight="100.0" prefWidth="200.0">
181+
<children>
182+
<CheckBox fx:id="needToStringHashcodeEquals" mnemonicParsing="false" selected="true" text="生成toString/hashCode/equals方法" />
175183
</children>
176184
</HBox>
177185
<HBox prefHeight="100.0" prefWidth="200.0" spacing="18.0">
@@ -185,7 +193,7 @@
185193
<Insets left="5.0" />
186194
</padding>
187195
</VBox>
188-
<HBox prefHeight="100.0" prefWidth="200.0" spacing="10.0" GridPane.columnIndex="1" GridPane.columnSpan="3" GridPane.rowIndex="8">
196+
<HBox alignment="CENTER_LEFT" prefHeight="100.0" prefWidth="200.0" spacing="10.0" GridPane.columnIndex="1" GridPane.columnSpan="3" GridPane.rowIndex="8">
189197
<children>
190198
<Button mnemonicParsing="false" onAction="#generateCode" text="代码生成">
191199
<styleClass>

0 commit comments

Comments
 (0)