Mybatis plus 代码生成,提高开发效率

哈根达斯
2021-07-21 / 0 评论 / 155 阅读 / 正在检测是否收录...

使用mybatis generator 工具可生成代码

第一步 pom.xml中 引入依赖

下发引入generator 包与模板引擎velocity包

       <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.3</version>
        </dependency>

新建类,执行main文件

public class GeneratorTest {

    //代码生成保存目录
    private final static String out="J:\\DEMO\\code\\api-server\\tmp";
    //JDBC数据源
    private final static String jdbc="jdbc:mysql://localhost:3306/java_dev?useUnicode=true&useSSL=false&characterEncoding=utf8";
    //数据库账号
    private final static String db_user="root";
    //数据库密码
    private final static String db_paswword="root";
    //表前缀
    private final static String table_prefix="eb_";
     //包名
    private static final String package_name="com.gxxblw.web";
    private static final String author="哈根达斯";


    public static void main(String[] args) {
        AutoGenerator mpg = new AutoGenerator();

        File file=new File(out);
        File[] files= file.listFiles();
        for (int i=0;i<files.length;i++){
            files[i].deleteOnExit();
        }
        // 全局配置
        GlobalConfig gc = new GlobalConfig();
        gc.setOutputDir(out);
        gc.setAuthor(author);
        gc.setOpen(true);
        //自定义Mappter文件名
        gc.setMapperName("%sDao");
        gc.setSwagger2(true); //实体属性 Swagger2 注解
        mpg.setGlobalConfig(gc);


        // 数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl(jdbc);
        // dsc.setSchemaName("public");
        dsc.setDriverName("com.mysql.jdbc.Driver");
        dsc.setUsername(db_user);
        dsc.setPassword(db_paswword);
        mpg.setDataSource(dsc);


        /*TemplateConfig templateConfig = new TemplateConfig();

        templateConfig.setMapper("dao");
        templateConfig.setEntityKt("domain");
        templateConfig.setXml(null);
        mpg.setTemplate(templateConfig);*/


        // 包配置
        PackageConfig pc = new PackageConfig();
        pc.setModuleName(scanner("模块名"));
        pc.setParent(package_name);
        pc.setMapper("dao");
        pc.setEntity("model");
        mpg.setPackageInfo(pc);

        // 策略配置
        StrategyConfig strategy = new StrategyConfig();
        strategy.setNaming(NamingStrategy.underline_to_camel);
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
        strategy.setEntityLombokModel(true);
        strategy.setRestControllerStyle(true);
        strategy.setInclude(scanner("表名,多个英文逗号分割").split(","));
        strategy.setTablePrefix(table_prefix);
        mpg.setStrategy(strategy);
        mpg.setTemplateEngine(new VelocityTemplateEngine());
        mpg.execute();
    }

    public static String scanner(String tip) {
        Scanner scanner = new Scanner(System.in);
        StringBuilder help = new StringBuilder();
        help.append("请输入" + tip + ":");
        System.out.println(help.toString());
        if (scanner.hasNext()) {
            String ipt = scanner.next();
            if (StringUtils.isNotBlank(ipt)) {
                return ipt;
            }
        }
        throw new MybatisPlusException("请输入正确的" + tip + "!");
    }

}

执行成功后保存目录将生成模板代码,更多参数可查看文档 查看代码生成

0

评论 (0)

取消