mybatis-generator-gui根據(jù)需求改動(dòng)示例
JavaType解析類
改的都是自己覺得需要改的部分
在生成的實(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即可。

生成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下面)

生成的DAO層類改為默認(rèn)Mapper結(jié)尾
找到MainUIController:212行,把“DAO”改為“Mapper”即可。
以上就是mybatis-generator-gui根據(jù)需求改動(dòng)示例的詳細(xì)內(nèi)容,更多關(guān)于mybatis-generator-gui改動(dòng)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java SpringMVC實(shí)現(xiàn)PC端網(wǎng)頁(yè)微信掃碼支付(完整版)
這篇文章主要介紹了Java SpringMVC實(shí)現(xiàn)PC端網(wǎng)頁(yè)微信掃碼支付(完整版)的相關(guān)資料,非常不錯(cuò)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11
在Spring?Boot使用Undertow服務(wù)的方法
Undertow是RedHAT紅帽公司開源的產(chǎn)品,采用JAVA開發(fā),是一款靈活,高性能的web服務(wù)器,提供了NIO的阻塞/非阻塞API,也是Wildfly的默認(rèn)Web容器,這篇文章給大家介紹了在Spring?Boot使用Undertow服務(wù)的方法,感興趣的朋友跟隨小編一起看看吧2023-05-05
Kafka生產(chǎn)者和消費(fèi)者高級(jí)用法及說明
Kafka生產(chǎn)者和消費(fèi)者高級(jí)用法包括事務(wù)支持、多線程處理和自定義序列化與反序列化,事務(wù)支持確保消息的原子性,多線程處理提高高吞吐量場(chǎng)景下的效率,自定義序列化和反序列化則增強(qiáng)了靈活性,適用于復(fù)雜數(shù)據(jù)結(jié)構(gòu)2025-11-11
Mybatis Generator Plugin悲觀鎖實(shí)現(xiàn)示例
本文將從悲觀鎖為例,讓你快速了解如何實(shí)現(xiàn)Mybatis Generator Plugin。文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
java時(shí)間戳與日期相互轉(zhuǎn)換工具詳解
這篇文章主要為大家詳細(xì)介紹了java各種時(shí)間戳與日期之間相互轉(zhuǎn)換的工具,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12
springboot 如何通過SpringTemplateEngine渲染html
通過Spring的Thymeleaf模板引擎可以實(shí)現(xiàn)將模板渲染為HTML字符串,而不是直接輸出到瀏覽器,這樣可以對(duì)渲染后的字符串進(jìn)行其他操作,如保存到文件或進(jìn)一步處理,感興趣的朋友跟隨小編一起看看吧2024-10-10
詳解SpringBoot中實(shí)現(xiàn)依賴注入功能
這篇文章主要介紹了詳解SpringBoot中實(shí)現(xiàn)依賴注入功能,SpringBoot的實(shí)現(xiàn)方式基本都是通過注解實(shí)現(xiàn)的。有興趣的可以了解一下。2017-04-04

