ToB企服应用市场:ToB评测及商务社交产业平台

标题: Mybatis-Plus代码生成器的使用 [打印本页]

作者: 张国伟    时间: 2023-8-3 18:24
标题: Mybatis-Plus代码生成器的使用
通常我们在做项目的时候,要手动搭建项目的结构,如controller,service,mapper,entity,是不是很麻烦,特别是数据库表特别多时,现在介绍一下使用MybatisPlus时怎么自动生成这些代码。
  1. <dependency>
  2.     <groupId>com.baomidou</groupId>
  3.     <artifactId>mybatis-plus-boot-starter</artifactId>
  4.     <version>3.5.3.1</version>
  5. </dependency>
  6. <dependency>
  7.     <groupId>com.mysql</groupId>
  8.     <artifactId>mysql-connector-j</artifactId>
  9.     <scope>runtime</scope>
  10. </dependency>
  11. <dependency>
  12.     <groupId>com.alibaba</groupId>
  13.     <artifactId>druid</artifactId>
  14.     <version>1.2.1</version>
  15. </dependency>
  16. <dependency>
  17.     <groupId>org.projectlombok</groupId>
  18.     <artifactId>lombok</artifactId>
  19.     <optional>true</optional>
  20. </dependency>
  21. <dependency>
  22.     <groupId>com.baomidou</groupId>
  23.     <artifactId>mybatis-plus-generator</artifactId>
  24.     <version>3.4.1</version>
  25. </dependency>
  26. <dependency>
  27.     <groupId>org.apache.velocity</groupId>
  28.     <artifactId>velocity-engine-core</artifactId>
  29.     <version>2.3</version>
  30. </dependency>
复制代码
  1. package com.example;
  2. import com.baomidou.mybatisplus.annotation.IdType;
  3. import com.baomidou.mybatisplus.generator.AutoGenerator;
  4. import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
  5. import com.baomidou.mybatisplus.generator.config.GlobalConfig;
  6. import com.baomidou.mybatisplus.generator.config.PackageConfig;
  7. import com.baomidou.mybatisplus.generator.config.StrategyConfig;
  8. public class CodeGenerator {
  9.     public static void main(String[] args) {
  10.         //1.获取代码生成器的对象
  11.         AutoGenerator autoGenerator = new AutoGenerator();
  12.         //设置数据库相关配置
  13.         DataSourceConfig dataSource = new DataSourceConfig();
  14.         dataSource.setDriverName("com.mysql.cj.jdbc.Driver");
  15.         dataSource.setUrl("jdbc:mysql://localhost:3306/db?serverTimezone=UTC");
  16.         dataSource.setUsername("root");
  17.         dataSource.setPassword("******");
  18.         autoGenerator.setDataSource(dataSource);
  19.         //设置全局配置
  20.         GlobalConfig globalConfig = new GlobalConfig();
  21.         globalConfig.setOutputDir("D:\\codes\\java\\demo\\spring\\projectname\\src\\main\\java");    //设置代码生成位置
  22.         globalConfig.setOpen(false);    //设置生成完毕后是否打开生成代码所在的目录
  23.         globalConfig.setAuthor("minqilaing");    //设置作者
  24.         globalConfig.setFileOverride(true);     //设置是否覆盖原始生成的文件
  25.         globalConfig.setMapperName("%sMapper");    //设置数据层接口名,%s为占位符,指代模块名称
  26.         globalConfig.setIdType(IdType.ASSIGN_ID);   //设置Id生成策略
  27.         autoGenerator.setGlobalConfig(globalConfig);
  28.         //设置包名相关配置
  29.         PackageConfig packageInfo = new PackageConfig();
  30.         packageInfo.setParent("com.aaa");   //设置生成的包名,与代码所在位置不冲突,二者叠加组成完整路径
  31.         packageInfo.setEntity("entity");    //设置实体类包名
  32.         packageInfo.setMapper("mapper");   //设置数据层包名
  33.         autoGenerator.setPackageInfo(packageInfo);
  34.         //策略设置
  35.         StrategyConfig strategyConfig = new StrategyConfig();
  36.         strategyConfig.setInclude("book");  //设置当前参与生成的表名,参数为可变参数
  37. //        strategyConfig.setTablePrefix("tbl_");  //设置数据库表的前缀名称,模块名 = 数据库表名 - 前缀名  例如: User = tbl_user - tbl_
  38.         strategyConfig.setRestControllerStyle(true);    //设置是否启用Rest风格
  39.         strategyConfig.setVersionFieldName("version");  //设置乐观锁字段名
  40.         strategyConfig.setLogicDeleteFieldName("deleted");  //设置逻辑删除字段名
  41.         strategyConfig.setEntityLombokModel(true);  //设置是否启用lombok
  42.         autoGenerator.setStrategy(strategyConfig);
  43.         //2.执行生成操作
  44.         autoGenerator.execute();
  45.     }
  46. }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4