介绍
这篇文章将为大家详细讲解有关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空项目:
创建我们的代码生成器程序:
进口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 (); } nullMybatis +如何实现代码生成器CodeGenerator的方法