当前位置: 首页 > news >正文

mybatis-generator-gui-extension 实战教程:3步连接 MySQL 数据库并生成第一个 Mapper 文件

mybatis-generator-gui-extension 实战教程:3步连接 MySQL 数据库并生成第一个 Mapper 文件

【免费下载链接】mybatis-generator-gui-extension图形化MBG,内置丰富插件,可生成Service、Controller、View,配置简单。 A powerful GUI tool for MyBatisGenerator(MBG)项目地址: https://gitcode.com/gh_mirrors/my/mybatis-generator-gui-extension

mybatis-generator-gui-extension是一款为 MyBatis Generator(MBG)量身打造的图形化代码生成工具。作为图形化 MBG,它让你彻底告别手写 generatorConfig.xml 的繁琐配置,内置分页、逻辑删除、批量插入等丰富插件,只需 3 步就能完成 MySQL 数据库连接并生成第一个 Mapper 文件。本文面向零基础新手,带你走通"连接数据库 → 配置生成规则 → 一键生成代码"的完整实战流程,快速上手这款 MyBatis 代码生成利器。

一、mybatis-generator-gui-extension 是什么?为什么值得一试?

对于长期使用 MyBatis 的 Java 开发者来说,编写实体类、Example 查询对象、Mapper 接口和 XML 映射文件,一直是重复度极高的"体力活"。mybatis-generator-gui-extension 将官方 MBG 命令行工具升级为可视化图形界面,让代码生成变得像填表一样简单:

  • 🚀免写 XML:无需手写繁琐的 generatorConfig.xml 配置文件
  • 🧩内置丰富插件:分页插件(limit/offset)、逻辑删除、批量插入、流式构建、CaseInsensitiveLike 等开箱即用
  • 🗄️多数据库支持:MySQL、Oracle、PostgreSQL、SQL Server 等主流数据库均可直接连接
  • 🔒文件合并保护:重新生成代码时,自动保留未标记@mbg.generated的手写字段与方法

工具主界面一目了然:左侧管理数据库连接,右侧通过标签页配置各类生成选项,底部提供"生成代码"按钮。

二、准备工作:获取并启动工具

开始实战前,先确认环境并启动工具:

  1. 环境要求:JDK 版本需为 1.8u40 及以上
  2. 获取源码:使用 git 克隆仓库
    git clone https://gitcode.com/gh_mirrors/my/mybatis-generator-gui-extension
  3. 启动方式(任选其一):
    • 用 IDE 将项目导入为 Maven 项目,直接运行com.spawpaw.mybatis.generator.gui.GeneratorGuiRunner主类
    • 执行mvn package自行打包 jar,然后运行生成的 jar 包

启动后即可看到上述主界面,现在进入最核心的三步实战。

三、第一步:新建 MySQL 数据库连接

连接数据库是整个流程的地基,操作非常简单:

  1. 点击左侧上方的"新建连接"按钮,弹出连接配置窗口
  2. 依次填写关键参数:
    • 数据库类型:选择MySQL
    • 主机(host):默认localhost,远程库填服务器 IP
    • 端口(port):默认3306
    • 数据库名(dbName):要生成代码的目标库,如user
    • 用户名 / 密码:如root与对应密码
    • 编码:默认utf8,与库保持一致即可
  3. 点击"测试连接",提示成功说明配置无误
  4. 填写连接名称并保存,连接会出现在左侧列表中
  5. 双击该连接,右侧即会加载出数据库中的全部表

小提示:顶部还有"表名匹配模式"(默认%匹配所有表),如果你只想生成部分前缀的表,可在这里用通配符过滤,例如user%

四、第二步:配置生成规则,规划实体与 Mapper

连接数据库后,右侧标签页会提供丰富的配置项,这些决定了生成代码的样式。新手只需重点关注三个标签页:

1. 快捷设置:项目路径与包名

在"快捷设置"页指定项目所在目录BasePackage(如com.example.ssm)、Mapper 类型(推荐XMLMAPPER)以及实体对象名称(如User)。

2. 实体设置:Java Bean 的生成选项

在"实体设置"页可以配置:

  • 实体对象名称 / Example 对象名称:自定义类名后缀
  • 主键:勾选并填入主键字段(如id),会自动生成获取自增主键的 SQL
  • 流式构建插件:支持new User().withUsername("uname")链式创建对象
  • toString / equals / hashCode / Serializable:一键生成常用方法与接口

3. DAO 设置:Mapper 层生成规则

在"DAO 设置"页可以配置:

  • Mapper(XML) 目录与包:如src/main/resources下的mapper
  • Mapper(Java接口) 目录与包:如src/main/java下的com.example.ssm.dao
  • 为 Mapper 添加 @Mapper 注解:省去在启动类扫描配置
  • CRUD 方法开关:Insert、SelectByPrimaryKey、SelectByExample、UpdateByPrimaryKey、DeleteByExample 等按需勾选
  • 分页插件:基于 limit/offset 的分页查询,开箱即用

💡 配置完成后点击"保存配置",下次启动可直接从下拉框加载,无需重复设置。

五、第三步:选中表并一键生成第一个 Mapper 文件

配置就绪后,生成代码只需最后两步:

  1. 在左侧表列表中选择要生成的目标表(如user表)
  2. 点击底部"生成代码"按钮,即可一键生成全部代码

如果你想对单表做精细化控制,还可以先点击"自定义列属性"按钮:在弹窗中取消勾选可忽略某列(不生成该字段),双击字段可修改 JdbcType、JavaType、属性名或指定 TypeHandler。

生成的第一个 Mapper 文件长什么样?

user表为例,工具会自动生成 4 类核心文件:

文件作用
User.java实体类,包含字段、getter/setter 与可选增强方法
UserExample.java条件查询对象,支持复杂 where 条件拼接
UserMapper.javaMapper 接口,声明 CRUD 方法
UserMapper.xmlSQL 映射文件,包含全部 SQL 语句

得益于文件合并特性,如果这些文件已存在,重新生成时会自动保留未标记@mbg.generated的手写代码,不会覆盖你的自定义逻辑,可以放心反复生成。

六、新手常见问题速查

  • 测试连接失败:检查端口是否开放、用户名密码是否正确,MySQL 8.0+ 请确认驱动与字符集兼容
  • 中文乱码:将连接配置中的编码统一设为utf8,与数据库字符集保持一致
  • 生成后看不到新代码:确认"快捷设置"中的项目目录路径正确,代码生成在该目录下
  • 不需要某张表:在连接配置的"表名匹配模式"中用通配符过滤,或直接忽略即可

七、总结

通过以上 3 步——新建 MySQL 数据库连接、配置实体与 Mapper 生成规则、选中表一键生成——你就完成了 mybatis-generator-gui-extension 的首次实战,成功生成了第一个 Mapper 文件。相比手写模板与命令行 MBG,这款图形化工具真正把 MyBatis 代码生成的门槛降到了零。接下来不妨多试试分页插件、逻辑删除、流式构建等内置插件,你会发现更多提效惊喜。🎉

【免费下载链接】mybatis-generator-gui-extension图形化MBG,内置丰富插件,可生成Service、Controller、View,配置简单。 A powerful GUI tool for MyBatisGenerator(MBG)项目地址: https://gitcode.com/gh_mirrors/my/mybatis-generator-gui-extension

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4121108.html

相关文章:

  • 零基础AI入门:12周走完一条不劝退的人工智能学习路线
  • QQ空间说说备份终极指南:3步快速导出全部历史说说
  • 从入门到精通:Blazor.Extensions.Canvas 学习路线图与资源清单
  • 同样刷一天招聘网站,为什么有人拿到5个面试,有人颗粒无收?Boss Show Time插件揭秘职位发布时间
  • 不学PS也能修好图:免费开源 IOPaint 的 AI 图像修复实战笔记
  • PyABSA 快速上手指南:5 步跑通你的第一个方面级情感分析模型
  • hcsshim网络配置实战:HNS与HCN API从入门到精通
  • 如何用 ComfyUI-KJNodes 快速优化 AI 工作流:安装、避坑与进阶指南
  • 自动化调参神器:用EPyMARL search.py高效搜索超参数
  • 联合类型与类型断言实战:TypeScript-New-Handbook 帮你消灭 80% 类型报错
  • SteamEmulator:无需Steam轻松实现局域网联机的终极方案
  • Rufus 制作启动 U 盘完整指南:从 ISO 到可引导盘的每一步
  • QQ空间说说一键备份:GetQzonehistory导出工具实操指南
  • Linux网络故障排查:TCP/IP连接问题诊断六步法
  • Axure RP 汉化其实只差一个文件:axure-cn 语言包从取包到验收的完整流程
  • 告别 gmad.exe:用 GMPublisher 三步搞定加里模组工坊发布
  • 热键被“偷“了怎么办?Hotkey Detective 三步揪出占用快捷键的元凶
  • 被“锁“住的歌单:用 Unlock-Music 在浏览器里解开QQ音乐、网易云音乐等加密文件
  • GPBoost源码架构深度解析:C++核心如何优雅驱动Python与R双语言
  • jellyfin-plugin-douban实战教程:如何一键刮削电影评分、简介与演员元数据
  • 5 分钟快速上手 torrent-cli:安装配置与第一个磁力搜索命令完整教程
  • 猫抓扩展完整上手指南:免费网页资源嗅探工具,视频音频图片一键下载
  • 网页视频下载再也不用求人了:开源资源嗅探扩展「猫抓」的实测笔记
  • 并发服务异常后应留下哪些可复查记录
  • 什么是devEops?一文读懂开发自运维平台如何重塑自动化运维流程
  • 2026年电商数据工具排行榜:自建还是用现成的?6款工具横向测评
  • python的运筹学工业场景模拟第七十五篇:读取产线换产工时报表,提取产品切换耗时,将换产约束转化为模型输入条件。
  • 深入open-korean-text源码:动态规划与词性序列规则如何实现精准韩语分词
  • nlprule 规则管理秘籍:如何用 Selector API 精确启用与禁用语法规则
  • 如何用 pycalphad 画出第一张合金相图?材料热力学计算的 Python 入门指南