改的都是自己覺得需要改的部分占业,如有不同見解歡迎討論。
在生成的實(shí)體類中江场,數(shù)據(jù)庫(kù)tinyint類型默認(rèn)會(huì)生成Byte纺酸,使用時(shí)略有不便。于是將其改成Integer址否。
- 自定義一個(gè)JavaType解析的類
package com.zzg.mybatis.generator.plugins;
public class MyJavaTypeResolverImpl extends JavaTypeResolverDefaultImpl {
@Override
protected FullyQualifiedJavaType overrideDefaultType(IntrospectedColumn column, FullyQualifiedJavaType defaultType) {
FullyQualifiedJavaType answer = defaultType;
switch (column.getJdbcType()) {
case Types.TINYINT:
answer = new FullyQualifiedJavaType(Integer.class.getName());
break;
default:
break;
}
return answer;
}
}
- 在加載配置的過程中進(jìn)行加載即可(MybatisGeneratorBridge:210)
//for JSR310
if (generatorConfig.isJsr310Support()) {
JavaTypeResolverConfiguration javaTypeResolverConfiguration = new JavaTypeResolverConfiguration();
javaTypeResolverConfiguration.setConfigurationType("com.zzg.mybatis.generator.plugins.JavaTypeResolverJsr310Impl");
context.setJavaTypeResolverConfiguration(javaTypeResolverConfiguration);
} else {
// 《TINYINT的JavaType改為Integer》
JavaTypeResolverConfiguration myJavaTypeResolverConfiguration = new JavaTypeResolverConfiguration();
myJavaTypeResolverConfiguration.setConfigurationType("com.zzg.mybatis.generator.plugins.MyJavaTypeResolverImpl");
context.setJavaTypeResolverConfiguration(myJavaTypeResolverConfiguration);
}
去掉不必要的默認(rèn)勾選
- 找到MainUI.fxml餐蔬;
-
找到對(duì)應(yīng)的checkbox碎紊,把selected修改為false即可。
image.png
生成lombok常用注解
- 自定義lombok插件
package com.zzg.mybatis.generator.plugins;
public class LombokPlugin extends PluginAdapter {
public LombokPlugin() {
}
@Override
public boolean validate(List<String> list) {
return true;
}
@Override
public boolean modelBaseRecordClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
topLevelClass.addImportedType("lombok.Data");
topLevelClass.addAnnotation("@Data");
topLevelClass.addImportedType("lombok.ToString");
topLevelClass.addAnnotation("@ToString");
topLevelClass.addImportedType("lombok.Builder");
topLevelClass.addAnnotation("@Builder");
topLevelClass.addImportedType("lombok.NoArgsConstructor");
topLevelClass.addAnnotation("@NoArgsConstructor");
topLevelClass.addImportedType("lombok.AllArgsConstructor");
topLevelClass.addAnnotation("@AllArgsConstructor");
topLevelClass.addJavaDocLine("/**");
topLevelClass.addJavaDocLine("* @author 我");
topLevelClass.addJavaDocLine("* @date " + this.date2Str(new Date()));
topLevelClass.addJavaDocLine("*/");
return true;
}
@Override
public boolean clientGenerated(Interface interfaze, TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
interfaze.addJavaDocLine("/**");
interfaze.addJavaDocLine("* @author 我");
interfaze.addJavaDocLine("* @date " + this.date2Str(new Date()));
interfaze.addJavaDocLine("*/");
return true;
}
@Override
public boolean modelSetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType) {
return false;
}
@Override
public boolean modelGetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType) {
return false;
}
private String date2Str(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
return sdf.format(date);
}
}
-
在加載配置的過程中進(jìn)行加載即可(加到MybatisGeneratorBridge:182下面)
image.png
生成的DAO層類改為默認(rèn)Mapper結(jié)尾
找到MainUIController:212行樊诺,把“DAO”改為“Mapper”即可仗考。