MybatisPlus---代码生成器

   首先在pom.xml中导入坐标

<dependency>                         //这个就是代码生成器坐标
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-generator</artifactId>
        <version>3.4.1</version>
    </dependency>


  <dependency>     //这个是Velocity引擎的坐标, 而MyBatis-Plus 支持 Velocity这个默认的模板引擎
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-engine-core</artifactId>
        <version>2.3</version>
  </dependency>


然后在Generator.java中

public    class   Generator{            //Generator表示生成器
   public    static  void  main(String[]   args){
        AutoGenerator  autoGenerator=new AutoGenerator();         //这个是创建代码生成器

第一:数据源配置    

        AutoGenerator  autoGenerator=new AutoGenerator();   //这个是创建代码生成器


        DataSourceConfig  dataSourceConfig=new DataSourceConfig();     //这个是进行数据源配置
        dataSourceConfig.setDriverName("com.mysql.jdbc.Driver");
        dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/sky_take_out?serverTimezone=UTC");
        dataSourceConfig.setUsername("root");
        dataSourceConfig.setPassword("123456");

        autoGenerator.setDataSource(dataSourceConfig);        //这个是在代码生成器中配置数据源,从而根据数据源生成代码


        //        第二:全局配置
        GlobalConfig   globalConfig=new GlobalConfig();       //这个就是设置全局配置对象,你按住ctrl进入到GlobalConfig中,可以看到它默认的全局配置生成路径是"D://"
       globalConfig.setOutputDir(System.getProperty("user.dir")+"/springboot1/src/main/java");       //这个就是设置代码生成器的生成路径,这个就是在当前项目中的父工程目录下的src目录下的main目录下的java目录
                                                             //其中System.getProperty("user.dir")表示当前运行System.getProperty("user.dir")所在的项目的父工程目录,
                                                            // 比如当前项目为springboot,它所在的路径为D://aa/springboot,所以System.getProperty("user.dir")就表示D://aa/springboot

       globalConfig.setOpen(false);      //这个表示生成之后,要不要将生成的代码所在的文件夹自动打开弹出,false表示不弹出
       globalConfig.setAuthor("aaaaa");        //这个表示设置生成的作者
       globalConfig.setFileOverride(true);      //这个表示是否要覆盖原始生成的文件,true表示覆盖

//       globalConfig.setSwagger2(true);        //Controller层使用Swagger注解

       globalConfig.setMapperName("%sMapper");      //这个表示设置数据层接口名,%s是占位符,表示数据表的名字加上DAO,  这个主要是为映射接口起名字为tb_userDao.java, tb_user表示数据表名字,
                                        //不过我喜欢用默认的映射接口的名字,默认名字为tb_userMapper.java,  所以一般不使用这个设置,就是不用setmapperName()这个方法进行设置

       globalConfig.setIdType(IdType.AUTO);    //这个表示设置Id生成策略

      autoGenerator.setGlobalConfig(globalConfig);     //这个是在代码生成器中设置全局配置



//        第三:包名修改
       PackageConfig packageConfig=new PackageConfig();     //这个就是对所生成的包进行配置, 它默认生成的是com.baomidou包,
       packageConfig.setParent("com.example");    //设置生成的包的名字为bb.aa, 通过改变包的名字,可以将生成的包放在指定的包下,
                              // 默认的父包是"com.baomidou", 它会自动放在上面设置的globalConfig.setOutputDir路径下,此时也就变成了/springboot1/src/main/java/com/example

         packageConfig.setEntity("Pojo"); //这个是设置实体类的包的名字为Pojo, 默认名字为"entity"
                                          // 它有四个方法分别可以修改四个包的包名,比如:packageConfig.setMapper("aa"),修改的就是mapper包的包名
        

          autoGenerator.setPackageInfo(packageConfig);      //这个就是在代码生成器中设置包配置




//        第四:策略配置
        StrategyConfig  strategyConfig=new StrategyConfig();    //这个是策略配置对象,strategy表示策略
//          strategyConfig.setTablePrefix("tb_");     //这个表示去除数据表的前缀,这样就相当于将数据表的名字中相同的部分给去除了, 
                        //比如:数据表的名字为tb_user, 那么生成的各个包中的文件名字就都为tb_user.java之类的, 但是现在去除前缀之后,生成的文件名就是user.java之类的

          strategyConfig.setRestControllerStyle(true);     //这个表示是否启用REST风格,true表示启用, 这样在controller包中的注解就由@Controller变成了@RestController
        
          strategyConfig.setEntityLombokModel(true);      //这个表示实体类中是否启用lombok, true表示启用, 这样在生成的代码中就能使用注解来表示get和set方法了
//          strategyConfig.setVersionFieldName("version");    //这个就表示设置乐观锁字段为version,  就相当于会自动在version字段上面加上@Version注解
//          strategyConfig.setLogicDeleteFieldName("deleted");     //这个表示设置逻辑删除字段为deleted,就相当于在deleted字段上面加上

          strategyConfig.setInclude("category","dish");    //这个表示只对指定的表进行生成,不会将将数据库中的所有的表都进行生成, 这里就是只生成tb_user和tb_book这两张表

          autoGenerator.setStrategy(strategyConfig);      //这个就是在生成器中设置策略配置


          autoGenerator.execute();       //这个就是运行代码生成器


    }      //在没有设置全局配置就这个代码后,会自动弹出D盘,在D盘中会自动生成一个com文件夹, 也就是说它是默认放在D盘的

}

 

 

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值