springboot——集成mybatis-plus(代码生成器)

SpringBoot集成mybatis-plus(代码生成器)

1.maven依赖

<!-- mybaits plus-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.0.5</version>
</dependency>
<!--mybaits plus代码生成-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.3.0</version>
</dependency>
<!--模板引擎velocity start-->
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>2.1</version>
</dependency>

2.创建生成器主类

置是否覆盖原来的代码
        gc.setOpen(false);      //生成代码后是否打开文件夹
        //gc.setAuthor("ys");     //设置生成代码的作者
        //gc.setActiveRecord(true);//设置是否支持AR模式
        //gc.setEnableCache(false);// XML 二级缓存
        //gc.setBaseResultMap(true);// XML ResultMap
        //gc.setBaseColumnList(true);// XML columList
        //gc.setKotlin(true); //是否生成 kotlin 代码
        autoGenerator.setGlobalConfig(gc);

        //数据源配置--------------------------------------------------------------------------------------------
        DataSourceConfig dsc = new DataSourceConfig(); //数据源配置
        //dsc.setDbType(DbType.SQL_SERVER);//数据库类型 枚举
        dsc.setUrl("jdbc:mysql://127.0.0.1:3306/base?characterEncoding=utf-8&serverTimezone=GMT%2B8&useSSL=false");//设置url
        dsc.setDriverName("com.mysql.cj.jdbc.Driver"); //设置数据库驱动
        dsc.setUsername("root");//设置用户名
        dsc.setPassword("zzbeilei2020"); //设置密码
//        dsc.setTypeConvert(new MySqlTypeConvert() {   // 自定义数据库表字段类型转换【可选】
//            @Override
//            public DbColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType) {
//                System.out.println("转换类型:" + fieldType);
//                if ( fieldType.toLowerCase().contains( "tinyint" ) ) { //tinyint转换成Boolean
//                    return DbColumnType.BOOLEAN;
//                }
//                if ( fieldType.toLowerCase().contains( "datetime" ) ) { //将数据库中datetime转换成date
//                    return DbColumnType.DATE;
//                }
//                return (DbColumnType) super.processTypeConvert(globalConfig, fieldType);
//            }
//        });
        autoGenerator.setDataSource(dsc);

        // 集成注入配置\包配置-----------------------------------------------------------------------------------
        PackageConfig pc = new PackageConfig();
        pc.setParent("com.ys");//提取公共父级包名
        pc.setController("controller");//设置controller信息
        pc.setService("service"); //设置service信息
        pc.setServiceImpl("service.impl");
        pc.setMapper("dao"); //设置dao信息
        pc.setEntity("entity"); //设置实体类信息
        pc.setXml("xml");//设置mapper.xml信息
        autoGenerator.setPackageInfo(pc);
        
        // 策略配置--------------------------------------------------------------------------------------------
        StrategyConfig sc = new StrategyConfig();
        sc.setNaming(NamingStrategy.underline_to_camel);//表名生成策略,下划线转驼峰
        sc.setColumnNaming(NamingStrategy.underline_to_camel);//字段名生成策略,下划线转驼峰
        sc.setEntityLombokModel(true);//【实体】是否为lombok模型
        //strategy.setInclude(new String[]{"city","customer"}); // 表名
        sc.setInclude("city"); // 表名
        //strategyConfig.setCapitalMode(true);//全局大写命名是否开启
        //strategyConfig.setTableFillList(tableFillList)//自动填充设置

        //TemplateConfig配置--------------------------------------------------------------------------------------
        //TemplateConfig templateConfig = new TemplateConfig();
        //templateConfig.setXml(null);//指定自定义模板路径, 位置:/resources/templates/entity2.java.ftl(或者是.vm)
        //注意不要带上.ftl(或者是.vm), 会根据使用的模板引擎自动识别
        // 自定义模板配置,模板可以参考源码 /mybatis-plus/src/main/resources/template 使用 copy
        // 至您项目 src/main/resources/template 目录下,模板名称也可自定义如下配置:
        // templateConfig.setController("...");
        // templateConfig.setEntity("...");
        // templateConfig.setMapper("...");
        // templateConfig.setXml("...");
        // templateConfig.setService("...");
        //templateConfig.setServiceImpl("...");
        //autoGenerator.setTemplate(templateConfig);

        autoGenerator.setStrategy(sc);
        autoGenerator.execute();

    }

}

3.完成

image

posted @ 2021-07-30 17:02  渝思  阅读(128)  评论(0编辑  收藏  举报