王海鱼 发表于 2025-3-12 21:22:54

使用mybatisplus的逆向工程自动天生数据库中表对应的实体类、mapper、servi

使用mybatisplus的逆向工程自动天生数据库中表对应的实体类、mapper、service、serviceImpl、controller等文件

详细流程如下:

1、引入依赖

      <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>3.0.4</version>
      </dependency>
      <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.3.1</version>
      </dependency>
      <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.3.2</version>
      </dependency>
      <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.0</version>
      </dependency>
2、编写自动天生器配置并执行

就是项目中任意写个类,里面定义个main方法,执行下面的代码即可
public class Generator {
    public static void main(String[] args) {
      AutoGenerator autoGenerator = new AutoGenerator();
      // 数据源配置
      DataSourceConfig dataSourceConfig = new DataSourceConfig();
      dataSourceConfig.setDbType(DbType.MYSQL);
      dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
      dataSourceConfig.setUsername("root");
      dataSourceConfig.setPassword("123456");
      dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/chong?useUnicode=true&characterEncoding=UTF-8");
      autoGenerator.setDataSource(dataSourceConfig);
      // 全局配置
      GlobalConfig globalConfig = new GlobalConfig();
      globalConfig.setOpen(false); // 是否打开生成后的文件
      globalConfig.setOutputDir(System.getProperty("user.dir")+"/src/main/java");
      globalConfig.setAuthor("hekai"); // 注释上面编写的作者
      globalConfig.setServiceName("%sService");
      autoGenerator.setGlobalConfig(globalConfig);
      // 包配置
      PackageConfig packageConfig = new PackageConfig();
      packageConfig.setParent("com.shuhe");
      packageConfig.setEntity("entity");
      packageConfig.setMapper("mapper");
      packageConfig.setController("controller");
      packageConfig.setService("service");
      packageConfig.setServiceImpl("service.impl");
      autoGenerator.setPackageInfo(packageConfig);
      // 策略配置
      StrategyConfig strategyConfig = new StrategyConfig();
      strategyConfig.setEntityLombokModel(true); // 生成的实体上都会加上@Data注解
      strategyConfig.setNaming(NamingStrategy.underline_to_camel); // 实体类的命名规则为下划线转驼峰
      strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel); // 实体类的属性名的命名规则为下划线转驼峰
      strategyConfig.setInclude("fa_admin","fa_admin_log");// 要根据哪些表生成对应的实体类等文件
      strategyConfig.setTablePrefix("fa_"); // 若有则去掉表中前缀,如fa_user表生成User.java类
      autoGenerator.setStrategy(strategyConfig);

      autoGenerator.execute();
    }
}
   执行完毕后表对应的文件就自动天生了。
如果entity、mapper、controller等目次已经创建好了,则天生的文件会自动添加在对应的目次下,没有创建目次则会自动天生对应的目次,完全不用担心。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 使用mybatisplus的逆向工程自动天生数据库中表对应的实体类、mapper、servi