mybatisplus代码生成器不生成文件和报错

时间:2025-03-17 08:15:55
package com.beibei; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.config.*; import com.baomidou.mybatisplus.generator.config.converts.OracleTypeConvert; import com.baomidou.mybatisplus.generator.config.po.TableFill; import com.baomidou.mybatisplus.generator.config.rules.DateType; import com.baomidou.mybatisplus.generator.config.rules.DbColumnType; import com.baomidou.mybatisplus.generator.config.rules.IColumnType; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; import java.util.ArrayList; /** * @ClassName BeibeiCode * @Description * @Author * @Date 2021/5/31 15:15 **/ public class BeibeiCode { public static void main(String[] args) { //构建一个代码生成器对象 AutoGenerator mpg= new AutoGenerator(); //配置策略 //1.全局配置 GlobalConfig gc = new GlobalConfig(); //获取当前用户项目目录 String projiectPath = System.getProperty(""); System.out.println("projiectPath:=="+projiectPath); //输出目录 // (projiectPath+"/src/main/java"); gc.setOutputDir(projiectPath+"/target/generator-code"); //设置作者 gc.setAuthor("beibeiya"); //实体属性 Swagger2 注解 gc.setSwagger2(true); //生成之后是否打开文件夹 gc.setOpen(false); //是否覆盖 gc.setFileOverride(true); //去Service的I前缀 gc.setServiceName("%sService"); gc.setServiceImplName("%sServiceImpl"); //设置idType的生成类型 gc.setIdType(IdType.ID_WORKER); gc.setDateType(DateType.ONLY_DATE); mpg.setGlobalConfig(gc); //2.设置数据源 DataSourceConfig dsc = new DataSourceConfig(); dsc.setDbType(DbType.ORACLE); dsc.setTypeConvert(new ITypeConvert() { @Override public IColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType) { String t = fieldType.toLowerCase(); if (t.contains("number")) { return DbColumnType.INTEGER; } return new OracleTypeConvert().processTypeConvert(globalConfig,fieldType); } }); dsc.setDriverName(""); dsc.setUsername("****");//数据库账号 dsc.setPassword("****");//数据库密码 dsc.setUrl("jdbc:oracle:thin:@ip:port/**"); mpg.setDataSource(dsc); //3.包的配置 PackageConfig pc = new PackageConfig(); //模块名字 pc.setModuleName("testGeneratoe"); pc.setParent(""); pc.setEntity("entity"); pc.setMapper("mapper"); pc.setService("service"); pc.setController("controller"); mpg.setPackageInfo(pc); //4.策略配置 StrategyConfig strategy = new StrategyConfig(); //设置需要自动生产的表名,可包含多张表 //ps表名要大写否则生成的只有文件夹没有文件 String[] tables = new String[]{ "CLMS_CONTRACT", "USER_TEST"}; strategy.setInclude(tables); //下划线转驼峰 strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setColumnNaming(NamingStrategy.underline_to_camel); //是否支持lombok strategy.setEntityLombokModel(true); //rest风格 strategy.setRestControllerStyle(true); //下划线命名 user_id_2 strategy.setControllerMappingHyphenStyle(true); //逻辑删除配置 strategy.setLogicDeleteFieldName("deleted"); //自动填充配置 GMT_MODIFIED //创建时间更新时间填充 TableFill gmt_creat = new TableFill("GMT_CREAT", FieldFill.INSERT); TableFill gmt_modified = new TableFill("GMT_MODIFIED", FieldFill.UPDATE); ArrayList<TableFill> tableFills = new ArrayList<>(); tableFills.add(gmt_creat); tableFills.add(gmt_modified); strategy.setTableFillList(tableFills); //乐观锁 strategy.setVersionFieldName("version"); mpg.setStrategy(strategy); mpg.execute();//执行自动生成 } }