【MyBatis-Plus】代码生成器

快速使用

1. 新建工程

新建 Spring Boot 工程

2. 导入依赖坐标

pom.xml 文件中导入如下坐标

 		<!-- mysql 驱动所依赖的坐标 -->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>

        <!-- Druid 数据源所依赖的坐标 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.5</version>
        </dependency>

        <!-- MyBatis-Plus 整合 Spring Boot 的坐标 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.2</version>
        </dependency>

        <!-- MyBatis-Plus 代码生成器的坐标 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.1</version>
        </dependency>

        <!--MyBatis-Plus 代码生成器运行所需要的 freemarker 模板引擎-->
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.31</version>
        </dependency>

3. 创建代码生成器类

随便编写一个类,并在 main 方法中编写如下内容。
比如这里我编写了一个 CodeGenerator 类。
设置好相应参数后执行 main 方法即可。


public class CodeGenerator {
    public static void main(String[] args) {
        String path = CodeGenerator.class.getResource(".").getPath();
        int i = path.lastIndexOf("/target");
        String path2 = path.substring(0, i);
        int j = path2.lastIndexOf("/");
        String projectName =path2.substring(j+1); // 当前项目的项目名

        FastAutoGenerator.create("jdbc:mysql://127.0.0.1:3306/test", "root", "root")
                .globalConfig(builder -> {
                    builder.author("Texun") // 设置作者
                            .fileOverride() // 覆盖已生成文件
                            .outputDir("..\\"+projectName+"\\src\\main\\java"); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder.parent("com.texun") // 设置父包名
                            .moduleName(projectName.toLowerCase()) // 设置父包模块名为当前项目的项目名
                            .entity("pojo.entity") //设置entity包名
                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml, "..\\"+projectName+"\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder.controllerBuilder().enableRestStyle(); // 启用RestController注解
                    builder.mapperBuilder().enableMapperAnnotation(); // 启用Mapper注解
                    builder.addInclude("user") // 设置需要生成的表名
                            .addTablePrefix("t_", "c_"); // 设置过滤表前缀
                })
                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板
                .execute();

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值