Mybatis +如何实现代码生成器CodeGenerator的方法

  介绍

这篇文章将为大家详细讲解有关Mybatis +如何实现代码生成器CodeGenerator的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

导入生成器需要的依赖坐标:

& lt; dependency>   & lt; groupId> com.baomidou   & lt; artifactId> mybatis-plus-generator   & lt; version> 3.2.0   & lt;/dependency>      & lt; dependency>   & lt; groupId> org.apache.velocity   & lt; artifactId> velocity-engine-core   & lt; version> 2.1 & lt;/version>   & lt;/dependency>      & lt; dependency>   & lt; groupId> org.freemarker   & lt; artifactId> freemarker   & lt; version> 2.3.29   & lt;/dependency>      & lt; dependency>   & lt; groupId> com.ibeetl   & lt; artifactId> beetl   & lt; version> 3.0.11.RELEASE   & lt;/dependency>

新建了一个普通Maven空项目:

癕ybatis加如何实现代码生成器CodeGenerator的方法"

创建我们的代码生成器程序:

进口com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
  进口com.baomidou.mybatisplus.generator.AutoGenerator;
  进口com.baomidou.mybatisplus.generator.config.DataSourceConfig;
  进口com.baomidou.mybatisplus.generator.config.GlobalConfig;
  进口com.baomidou.mybatisplus.generator.config.PackageConfig;
  进口com.baomidou.mybatisplus.generator.config.StrategyConfig;
  进口com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
  进口org.apache.commons.lang3.StringUtils;
  
  进口java.util.Scanner;/* *
  * @author DaiZhiZhou
  * @file MP-Spring
  * @create 2020-08-06九11
  */公开课CodeGenerator {/* *
  * & lt; p>
  *读取控制台内容
  * & lt;/p>
  */公共静态字符串扫描(字符串提示){
  扫描仪扫描仪=new扫描仪(系统);
  StringBuilder帮助=new StringBuilder ();
  help.append(“请输入“).append(小费).append (“:”);
  System.out.println (help.toString ());
  如果(scanner.hasNext ()) {
  字符串ipt=scanner.next ();
  如果(StringUtils.isNotEmpty (ipt)) {
  返回ipt;
  }
  }
  把新的MybatisPlusException(“请输入正确的“+技巧+“!“);
  }
  
  公共静态void main (String [] args) {//代码生成器
  AutoGenerator mybatisPlusCodeGenerator=new AutoGenerator ();//全局配置
  GlobalConfig gc=new GlobalConfig ();//先得到当前工程目录
  字符串projectPath=System.getProperty (“user.dir");//是maven项目的结构,就是工程目录+/src/main/java
  gc。setOutputDir (projectPath +“/src/main/java");//gc.setOutputDir (“D: \ \ workspace-sts \ \ 0520副词\ \ 02 _mp_springboot/src/main/java");//设置生成文件的作者信息
  gc.setAuthor (“Echo42");//当代码生成完成之后是否打开代码所在的文件夹
  gc.setOpen(真正的);//gc.setSwagger2(真正的);实体属性Swagger2注解//gc.setServiceName (“% sService");//将上述的全局配置注入
  mybatisPlusCodeGenerator.setGlobalConfig (gc);//数据源配置
  DataSourceConfig dataSourceConfiguration=new DataSourceConfig ();
  
  dataSourceConfiguration.setUrl (“jdbc: mysql://localhost: 3306/oa& # 63; useUnicode=true& useSSL=false& characterEncoding=utf8& serverTimezone=UTC");//dataSourceConfiguration.setSchemaName (“public");
  dataSourceConfiguration.setDriverName (“com.mysql.cj.jdbc.Driver");
  dataSourceConfiguration.setUsername (“root");
  dataSourceConfiguration.setPassword (“123456”);
  
  mybatisPlusCodeGenerator.setDataSource (dataSourceConfiguration);//包配置
  PackageConfig pc=new PackageConfig ();//设置父级包名
  pc.setParent (“cn.echo42");//控制器service.impl实体服务
  
  pc.setModuleName(扫描仪(“模块名“));//pc.setModuleName (“sys");//实体类名称
  pc.setEntity (“domain");//映射器包名称
  pc.setMapper (“mapper");//映射器对应的映射器xml
  pc.setXml (“mapper.xml");//业务包层名称
  pc.setService (“service");//业务接口的实现类包
  pc.setServiceImpl (“service.impl");//控制器包名称
  pc.setController (“controller");//装填包信息对象
  mybatisPlusCodeGenerator.setPackageInfo (pc);//策略配置
  StrategyConfig策略=new StrategyConfig ();//设置字段和表名的是否把下划线完成驼峰命名规则
  strategy.setNaming (NamingStrategy.underline_to_camel);
  
  strategy.setColumnNaming (NamingStrategy.underline_to_camel);//设置生成的实体类继承的父类//strategy.setSuperEntityClass (“com.sxt.BaseEntity");//是否启动lombok
  strategy.setEntityLombokModel(真正的);//是否生成resetController
  strategy.setRestControllerStyle(真正的);//公共父类//strategy.setSuperControllerClass (“com.sxt.BaseController");//写于父类中的公共字段//strategy.setSuperEntityColumns (“person_id",“person_name");//要设置生成哪些表如果不设置就是生成所有的表//strategy.setInclude(扫描仪(“表名,多个英文逗号分割“).split (“”));
  
  strategy.setControllerMappingHyphenStyle(真正的);//strategy.setTablePrefix (pc.getModuleName () +“_");
  strategy.setTablePrefix (“sys_");
  
  mybatisPlusCodeGenerator.setStrategy(策略);
  
  mybatisPlusCodeGenerator.execute ();
  }
  null

Mybatis +如何实现代码生成器CodeGenerator的方法