首先我们需要在pom.xml中导入相关依赖包
其次,在test类中 创建一个main程序 用来执行自动生成代码功能
最后,就是代码生成器中的参数设置
1 //mp自动生成器 2 AutoGenerator mpg = new AutoGenerator(); 3 //全局配置 4 GlobalConfig globalConfig = new GlobalConfig(); 5 globalConfig.setAuthor("杰");//设置作者名 6 String projectPath = System.getProperty("user.dir");//获取当前项目目录,如果不设置代码会生成到本地的别的地方里 7 globalConfig.setOutputDir(projectPath+"/src/main/java");//设置生成文件目录 8 globalConfig.setOpen(false); //设置生成完毕后是否打开文件夹 9 globalConfig.setFileOverride(true);//是否覆盖原本生成的代码 10 globalConfig.setIdType(IdType.AUTO);//设置id自增策略,策略可自行去mybatisplus官网查看 11 globalConfig.setDateType(DateType.ONLY_DATE);//设置日期类型 12 // globalConfig.setSwagger2(); 设置是否支持swagger 13 mpg.setGlobalConfig(globalConfig); 14 15 //设置数据源 16 DataSourceConfig sourceConfig = new DataSourceConfig(); 17 sourceConfig.setUsername("***");//数据库用户名 18 sourceConfig.setPassword("***");//数据库密码 19 sourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");//数据库驱动 20 sourceConfig.setUrl("jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false");//数据库连接 21 sourceConfig.setDbType(DbType.MYSQL);//设置数据库类型,最新版好像不设也可以 22 mpg.setDataSource(sourceConfig); 23 24 25 //包配置 26 PackageConfig packageInfo = new PackageConfig(); 27 packageInfo.setModuleName("vipAccount");//设置模块名字(package名),生成的代码会放在这里面 28 packageInfo.setParent("com.adminfortrain"); //父类 29 packageInfo.setEntity("model");//存放实体类包名 30 packageInfo.setService("service"); 31 packageInfo.setServiceImpl("impl"); 32 packageInfo.setMapper("mapper"); 33 mpg.setPackageInfo(packageInfo); 34 35 36 // 策略配置 37 StrategyConfig strategy = new StrategyConfig(); 38 strategy.setInclude("vip");//设置需要构建的数据库表名 39 strategy.setNaming(NamingStrategy.underline_to_camel);//转驼峰命名 40 strategy.setColumnNaming(NamingStrategy.underline_to_camel);//转驼峰命名 41 strategy.setEntityLombokModel(true); //开启驼峰命名 42 // strategy.setRestControllerStyle(true); //Controller中Restful式的风格(驼峰或者下划线) 43 strategy.setLogicDeleteFieldName("deleted");//设置逻辑删除 44 TableFill gmtCreate = new TableFill("gmt_create", FieldFill.INSERT);//设置创建时间填充策略 45 TableFill gmtModified = new TableFill("gmt_modified", FieldFill.INSERT_UPDATE);//修改时间 46 ArrayList<TableFill> list = new ArrayList<>(); 47 list.add(gmtCreate); 48 list.add(gmtModified); 49 strategy.setTableFillList(list); 50 mpg.setStrategy(strategy); 51 52 //执行 53 mpg.execute()
最后运行此方法就OK了
这里有一个坑要注意,设置Gmt_create和gmt_modified的时候可能会自动填充失败,因为locatedatatime的问题导致,我改成Date就没有问题
还有一个坑,记得要在启动项中配置扫描maper