mybatis-generator-gui根据需求改动示例
JavaType解析类
改的都是自己觉得需要改的部分
在生成的实体类中,数据库tinyint类型默认会生成Byte,使用时略有不便。于是将其改成Integer。
- 自定义一个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;
}
}- 在加载配置的过程中进行加载即可(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);
}去掉不必要的默认勾选
- 找到MainUI.fxml;
找到对应的checkbox,把selected修改为false即可。

生成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);
}
}在加载配置的过程中进行加载即可(加到MybatisGeneratorBridge:182下面)

生成的DAO层类改为默认Mapper结尾
找到MainUIController:212行,把“DAO”改为“Mapper”即可。
以上就是mybatis-generator-gui根据需求改动示例的详细内容,更多关于mybatis-generator-gui改动的资料请关注脚本之家其它相关文章!
相关文章
Java常用 Date 时间格式化、Calender日历、正则表达式的用法小结
SimpleDateFormat 是Java中用于格式化和解析日期的类,它允许你将日期对象转换为特定格式的字符串,或者将特定格式的字符串转换为日期对象,这篇文章主要介绍了Java常用 Date 时间格式化、Calender日历、正则表达式的用法,需要的朋友可以参考下2024-12-12
Mybatis-Plus使用ID_WORKER生成主键id重复的解决方法
本文主要介绍了Mybatis-Plus使用ID_WORKER生成主键id重复的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-07-07
JSON.toJSONString()空字段不忽略修改的问题
这篇文章主要介绍了JSON.toJSONString()空字段不忽略修改的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-02-02
springboot框架中如何整合mybatis框架思路详解
这篇文章主要介绍了springboot框架中如何整合mybatis框架,本文通过示例图文相结合给大家介绍的非常详细,需要的朋友可以参考下2022-12-12


最新评论