如何定制生成代码的命名风格?MyBatis-Plus代码生成器mybatis-plus-code-generator文件名Pattern与包结构配置实战
发布时间:2026/8/24 17:33:01 作者:尧图编辑部 阅读量:1,286

如何定制生成代码的命名风格MyBatis-Plus代码生成器mybatis-plus-code-generator文件名Pattern与包结构配置实战【免费下载链接】mybatis-plus-code-generatorMyBatis-Plus代码生成器项目地址: https://gitcode.com/gh_mirrors/my/mybatis-plus-code-generatormybatis-plus-code-generatorMyBatis-Plus代码生成器是一款免费的 Web 化代码生成工具启动后访问http://localhost:8899填写包名与数据库连接信息一键生成 Entity、Mapper、Service、Controller 全套代码。默认风格虽然够用但不同团队对命名习惯差异很大——本文以包结构配置和文件名 Pattern两个核心配置项为主线手把手教你快速定制自己的命名风格。一、先搞清楚默认会生成怎样的代码结构理解默认值是定制的前提。针对表city生成器默认输出如下目录与文件com/example/demo ├── controller → CityController.java ├── dao → ICityDao.java ├── entity → CityEntity.java ├── mapper → CityMapper.xml └── repository ├── MCityRepository.java └── impl → CityRepositoryImpl.java这组默认规则定义在 Config.java 中核心是几个%s文件名模板默认常量值含义实体类%sEntity%s会被替换为表名转驼峰后的类名DAOI%sDao接口风格命名Mapper XML%sMapper如CityMapper.xmlServiceMP%sRepository带MP前缀ServiceImpl%sRepositoryImpl带Impl后缀Controller%sController常规命名记住%s这个占位符——它就是文件名 Pattern 的定制入口。二、包结构配置6 个输入框决定代码落在哪个包打开生成页面右侧的「包名配置」折叠面板包含 6 个输入框对应实体类包名、Mapper 包名、Mapper XML 目录名、Service 包名、ServiceImpl 包名、Controller 包名均有默认值entity、mapper、repository、repository.impl、controller等。这些值最终在 MyAutoGenerator.java 的packageConfigBuilder方法中写入PackageConfig.Builder顶部「包名」输入框如com.example.demo是所有子包的父包各分项包名会与父包拼接形成最终路径想改成更常见的service / serviceImpl / model风格直接把对应输入框的值改掉即可无需改一行代码。 建议修改前先清空输入框看默认值再只覆盖与自己规范冲突的项能少踩很多坑。三、文件名 Pattern 实战用%s定制任意命名风格「文件名格式」面板为每类文件提供了独立的 Pattern 输入框字段名fileNamePatternEntity、fileNamePatternMapper、fileNamePatternMapperXml、fileNamePatternService、fileNamePatternServiceImpl、fileNamePatternController定义在 CodeGeneratorBo.java 中。常见定制示例假设你的团队规范是「实体叫XxxDO、Mapper 叫XxxMapper、Service 叫IXxxService」只需填写配置项默认值填写为生成结果实体类文件名格式%sEntity%sDOCityDO.javaMapper文件名格式I%sDao%sMapperCityMapper.javaService文件名格式MP%sRepositoryI%sServiceICityService.javaServiceImpl文件名格式%sRepositoryImpl%sServiceImplCityServiceImpl.javaController文件名格式%sController%sControllerCityController.java这些 Pattern 会分别传入formatFileName、formatMapperFileName、formatXmlFileName、formatServiceFileName、formatServiceImplFileName等生成器方法占位符%s统一替换为驼峰化后的表名。 小提醒Pattern 中务必保留且只保留一个%s否则文件名会失去表名主体。四、配套技巧表前缀、字段前缀与忽略字段命名风格不止类名字段名同样重要。生成器固定使用下划线转驼峰策略NamingStrategy.underline_to_camel见MyAutoGenerator.java的strategyConfigBuilder方法并支持三个辅助配置表前缀如表都叫t_city填t_后实体直接生成CityEntity而不是TCityEntity字段前缀批量剔除字段命名前缀排除的表名 / 忽略的字段sys_开头的表或审计类字段如create_date_time、status可以整体排除生成的代码更干净。这些配置与文件名 Pattern 组合使用就能得到完全贴合团队规范的一整套代码。五、验证生成结果点击「立即生成」后代码默认输出到输出目录temp/code-generatorDocker 部署时可通过卷挂载到宿主机日志可通过docker logs -f code-generator查看。生成后对照本文的表格逐一检查包路径与文件名是否符合预期若不符合回到「包名配置」或「文件名格式」面板微调后重新生成即可——整个过程重复成本几乎为零。掌握包结构配置 文件名 Pattern 前缀处理这三件套你就完成了 MyBatis-Plus 代码生成器命名风格定制的全部核心操作之后无论是新项目落地还是老库逆向工程都能生成「一眼符合团队规范」的代码。【免费下载链接】mybatis-plus-code-generatorMyBatis-Plus代码生成器项目地址: https://gitcode.com/gh_mirrors/my/mybatis-plus-code-generator创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考