您好,我创建了一个Java的Springboot项目,这个是我的项目机构图

这个是我的mybatis-plus代码生成器
package com.hr.common;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import java.util.Collections;
/**
* 完全可用的 MyBatis-Plus 代码生成器 (3.5.11版本)
*/
public class CodeGenerator {
public static void main(String[] args) {
// 1. 获取项目路径
String projectPath = System.getProperty("user.dir") + "/hr";
System.out.println("项目路径: " + projectPath);
// 2. 数据源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig.Builder(
"jdbc:mysql://localhost:3306/hr?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC",
"root",
"root"
).schema("hr").build();
// 3. 全局配置
GlobalConfig globalConfig = new GlobalConfig.Builder()
.outputDir(projectPath + "/src/main/java") // 指定输出目录
.author("LYF") // 设置作者
.enableSwagger() // 开启swagger模式
.dateType(DateType.ONLY_DATE) // 时间策略
.commentDate("yyyy-MM-dd") // 注释日期格式
.fileOverride() // 正确位置:在全局配置中开启覆盖
.disableOpenDir() // 禁止生成后打开目录(关键修改)
.build();
// 4. 包配置
PackageConfig packageConfig = new PackageConfig.Builder()
.parent("com.hr") // 父包名
.moduleName(null) // 模块名(可选)
.entity("entity") // 实体类包名
.mapper("mapper") // Mapper接口包名
.service("service") // Service包名
.serviceImpl("service.impl") // Service实现类包名
.controller("controller") // Controller包名
.pathInfo(Collections.singletonMap(OutputFile.xml, projectPath + "/src/main/resources/mapper")) // XML文件位置
.build();
// 5. 策略配置
StrategyConfig strategyConfig = new StrategyConfig.Builder()
.addInclude("users") // 需要生成的表名
// .addTablePrefix("t_", "sys_") // 表前缀过滤
.entityBuilder() // 实体策略配置
.enableLombok() // 启用Lombok
.naming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略
.columnNaming(NamingStrategy.underline_to_camel) // 数据库表字段映射到实体的命名策略
.idType(IdType.AUTO) // 主键策略
.enableTableFieldAnnotation() // 开启字段注解
.controllerBuilder() // 控制器策略配置
.enableRestStyle() // 开启@RestController
.enableHyphenStyle() // 开启驼峰转连字符
.mapperBuilder() // Mapper策略配置
.enableMapperAnnotation() // 开启@Mapper注解
.enableBaseResultMap() // 生成基本的resultMap
.enableBaseColumnList() // 生成基本的SQL片段
.build();
// 6. 创建代码生成器
AutoGenerator generator = new AutoGenerator(dataSourceConfig);
generator.global(globalConfig);
generator.packageInfo(packageConfig);
generator.strategy(strategyConfig);
// 7. 执行生成 (JDK21兼容写法)
generator.execute(new FreemarkerTemplateEngine());
}
}
我在修改packageConfig.parent包名的时候,我如果修改成包名和项目名一样的,就导致mapper无法调用,这个是什么原因
