Mybatis-plus3.5.1+代码自动生成

1.Maven依赖

 <!--web-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <!-- mysql 连接驱动依赖 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!--mybatis-springboot-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>
        <!-- mybatis-plus 依赖 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>
        <!-- mybatis-plus-generator 依赖 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.1</version>
        </dependency>

2.CodeGenerator


    /**
     * 执行 run
     */
    public static void main(String[] args) throws SQLException {
    
    
//        Scanner scanner = new Scanner(System.in);
//        System.out.println("输入表名,空格隔开");
//        String[] input = scanner.nextLine().split(" ");
//        ArrayList<String> target = new ArrayList<>();
//        for (String s : input) target.add(s);
        generate(Lists.newArrayList("t_role"));
    }

    private static void generate(List<String> targets) {
    
    
        FastAutoGenerator
                .create("jdbc:mysql://111.11.11.11:3306/gz-shop?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai",
                        "XXX",
                        "XXX") //数据库连接配置

                .globalConfig(builder -> {
    
    
                    builder.author("gaozhao")//作者
                            //.enableSwagger() //开启swagger注解
                            .fileOverride()  //覆盖已生成文件
                            .commentDate("yyyy-MM-dd")
                            .outputDir("D:\\project1\\gz-shop-parent\\shop-service-order\\src\\main\\java");
                })

                .packageConfig(builder -> {
    
    //生成文件夹位置配置
                    builder.parent("com.gz.domain")//包名
                            .moduleName("shop")//模块名
                            .entity("entity")
                            .service("service")
                            .serviceImpl("service.impl")
                            .controller("controller")
                            .mapper("mapper")
                            .xml("mapper")
                            .pathInfo(Collections.singletonMap(OutputFile.xml, "D:\\project1\\gz-shop-parent\\shop-service-order\\src\\main\\resources\\mapper"));
                })

                .strategyConfig(builder -> {
    
    
                    builder.addInclude(targets)
                            .addTablePrefix("t_") //设置过滤表前缀 例如表名为 t_role 生成的不含T开头
                            .serviceBuilder()
                            .formatServiceFileName("%sService")
                            .formatServiceImplFileName("%sServiceImpl")
                            .entityBuilder()
                            .enableLombok()
                            .logicDeleteColumnName("deleted") //逻辑删除列
                            .enableTableFieldAnnotation()
                            .controllerBuilder()
                            .formatFileName("%sController")
                            .enableRestStyle()
                            .mapperBuilder()
                            .formatMapperFileName("%sMapper")
                            .enableMapperAnnotation()
                            .formatXmlFileName("%sMapper");
                })
                //.templateEngine(new FreemarkerTemplateEngine()) //使用Freemarker引擎模板(需要导包),默认的是Velocity引擎模板
                .execute();
    }

3.生成结构

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_37924396/article/details/129063132
今日推荐