配置MyBatisGenerator涉及导入插件、编写配置文件并运行生成。整合Lombok插件可使实体类更简洁,需添加依赖并在配置中引用。若遇MapperXML文件内容重复,需在配置中明确指定数据库Schema并添加连接参数。理解配置项并处理常见兼容性问题是成功关键。
给MyBatis项目配置代码生成器,听起来是个常规操作,但实际操作起来,坑还真不少。我最近就完整走了一遍,把遇到的那些典型问题和解决方案都整理了出来,希望能帮你省点时间。
步骤
核心流程其实就三步:导入插件、编写配置、运行生成。咱们一步步来。
首先,在项目的 pom.xml 文件中,引入 MyBatis Generator 的 Ma ven 插件。
org.mybatis.generator
mybatis-generator-ma ven-plugin
1.3.1
${basedir}/src/main/resources/generator/generatorConfig.xml
true
true
接着,在 resources 目录下新建 generator/generatorConfig.xml 文件。这个配置文件是核心,决定了生成什么、生成到哪里。下面是一个基础示例,你需要根据自己项目的数据库驱动路径、库名、表名和包结构进行修改。
配置完成后,打开 IDEA 的 Ma ven 窗口,找到对应模块下的 mybatis-generator:generate 目标,运行即可。

整合Lombok
默认生成的实体类带有大量的Getter/Setter方法,代码显得冗长。为了让实体类更简洁,整合 Lombok 是个不错的选择。
首先,需要下载一个第三方插件:mybatis-generator-lombok-plugin。你可以在其 GitHub 仓库找到它。
通过 Git 克隆或直接下载源码到本地项目目录后,进入该插件项目,执行 mvn clean install 命令将其安装到本地 Ma ven 仓库。

然后,在你自己项目的 pom.xml 中,为 MyBatis Generator 插件添加对该 Lombok 插件的依赖。
org.springframework.boot
spring-boot-ma ven-plugin
org.mybatis.generator
mybatis-generator-ma ven-plugin
1.3.1
${basedir}/src/main/resources/generator/generatorConfig.xml
true
true
com.chrm
mybatis-generator-lombok-plugin
1.0-SNAPSHOT
最后,在 generatorConfig.xml 文件的 标签内,添加该插件的引用。这样,再次运行生成器时,实体类就会带上 Lombok 注解了。

解决生成的XML文件代码重复问题
如果你遇到一个奇怪的问题:每次运行生成器,Mapper XML 文件里的 SQL 片段都会重复追加,而不是覆盖。这通常是因为生成器无法准确识别数据库上下文。
解决方法很简单,在配置中明确指定数据库名(Schema)。在 generatorConfig.xml 的 标签中,将 schema 属性值设为你的数据库名。

同时,为了确保连接配置无误,可以在 标签里加入 nullCatalogMeansCurrent=true 这个参数。

做完这两步,XML 文件重复生成的问题基本就能解决了。
总结
总的来说,配置 MyBatis Generator 的关键在于理解 generatorConfig.xml 的每个配置项,并准备好应对一些常见的环境兼容性问题。整合 Lombok 能大幅提升代码的简洁性,而明确指定数据库 Schema 则是避免文件重复生成的关键。希望这些踩坑经验能对你的项目配置有所帮助。
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
装机必备
正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。
Windows
正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。
PDF教程
正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。
macOS软件
正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。
IOS软件
正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。
AI
正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。
Aperty macOS版
Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。
火山引擎 网页版
火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。
立刻MV 网页版
立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。
蛙蛙写作 网页版
蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。
讯飞智作 网页版
讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。
音述AI 网页版
音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。
Loomy macOS版
Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。
AirBuddy 3 macOS版
AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。
AirServer macOS版
AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。
AnyDesk macOS版
AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。
讯飞绘文 网页版
讯飞绘文网页版是科大讯飞推出的AI图文创作与内容运营工具,覆盖热点选题、文章生成、稿件校对、智能配图、排版发布和数据复盘等环节,适合自媒体创作者及内容团队在线使用。
Aperty Windows版
Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。
火山引擎 网页版
火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。
立刻MV 网页版
立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。
蛙蛙写作 网页版
蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。
讯飞智作 网页版
讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。
音述AI 网页版
音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。
AirServer Windows版
AirServer Windows版可把电脑变成AirPlay、Google Cast和Miracast无线投屏接收端,适合会议演示、课堂教学及家庭大屏分享。发送设备通常无需另装客户端,并可同时接收和智能排列多个镜像会话。