Mybatis-Plus快速自动生成MySQL表相关代码

0 下载量 10 浏览量 更新于2024-08-04 收藏 8KB TXT 举报
Mybatis-Plus 是一个基于 MyBatis 的高效开发工具包,它提供了一套便捷的方法来简化在 Java 开发中与 MySQL 数据库的集成。本文档介绍了一个名为 `MybatisPlusGenerator` 的自定义类,用于根据 MySQL 表快速生成控制器 (Controller)、服务层 (Service)、映射器 (Mapper) 和实体类 (Entity) 的相关代码以及 XML 配置文件。通过这个工具,开发者可以省去手动编写大量基础模板的工作,提高开发效率。 首先,我们关注的核心是 `AutoGenerator` 类,这是 Mybatis-Plus 提供的一个自动代码生成器。`AutoGenerator` 初始化时,需要设置几个关键参数: 1. **BaseProjectPath**:生成文件的根路径,这里是 `"E:\\"`,开发者需要根据实际项目结构调整这个路径。 2. **Tables**:要生成代码的表名数组,这里包含 `"month_tendency"` 这个表,如果需要生成多个表的代码,可以添加更多表名到这个数组。 3. **SimpleName**:项目或模块的简写,如 `"hr"`,这将用于生成的类名和文件命名规则,例如 `MonthTendencyController.java` 和 `MonthTendencyMapper.xml`。 在 `main` 方法中,首先检查 `SimpleName` 是否为空,如果不填则抛出异常。然后,创建 `AutoGenerator` 实例,并配置以下关键部分: - **Database Configuration**: - 数据库类型:由于 `DbType` 是 Mybatis-Plus 的枚举类型,可能的值有 `DB_TYPE_MYSQL` 等,这里需要确保选择了 MySQL。 - **InjectionConfig**:配置生成器如何注入依赖,比如 Mybatis Plus 自带的插件等。 - **全局配置(GlobalConfig)**: - 包配置:指定生成的文件所在的包结构,包括控制器、服务层、映射器和实体类。 - 命名策略:决定生成类名的规则,如驼峰命名、下划线命名等,`NamingStrategy` 接口提供了多种选择。 - **DataObjectConfig** 和 `XmlMapStructConfig`:用于生成 Entity 对象和 XML 映射文件的配置,它们分别负责对象字段与数据库列之间的映射关系和 SQL 查询语句的生成。 - **MapperConfig**:针对 Mapper 的配置,包括接口定义、XML 文件的生成以及分页、排序、关联查询等高级功能的设置。 - **TemplateEngine**:模板引擎,这里使用的是 Freemarker 模板引擎,用于动态渲染生成的代码,确保符合项目的代码风格和规范。 - **TypeConvert**:类型转换器,如 `MySqlTypeConvert`,用于处理不同数据库类型之间的转换。 最后,在 `main` 方法中,`gen.generate()` 方法会被调用,传入上述配置后,根据给定的表结构,自动生成相应的 Controller、Service、Mapper 和 Entity 类以及 XML 配置文件。使用这个工具大大简化了数据访问层的代码生成过程,提高了开发效率和代码质量。