pom文件导入:
<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.2</version>
</dependency>
<!-- 模板引擎(Velocity 或 Freemarker) -->
<dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
</dependency>

代码生成类:


import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class CodeGenerator {
    public static void main(String[] args) {
//相关表
        List<String> tables = new ArrayList<>();
        tables.add("sys_menu");
        tables.add("sys_menu_permission");
        tables.add("sys_permission");
        tables.add("sys_user");
        tables.add("sys_user_permission");

        String password = "root";//数据库用户
        String username = "123456";//密码
        String url = "jdbc:mysql://localhost:3306/study_admin?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai";
        FastAutoGenerator.create(url, username, password)
                .globalConfig(builder -> builder
                        .author("zhangsan")
                        .outputDir(Paths.get(System.getProperty("user.dir")) + "/src/main/java")
                        .commentDate("yyyy-MM-dd")
                )
                .packageConfig(builder -> builder
                        .parent("cn.com.vastwave")
                        .entity("entity")
                        .mapper("mapper")
                        .service("service")
                        .serviceImpl("service.impl")
                        //.xml("mapper.xml")
                        .pathInfo(Collections.
                                singletonMap(OutputFile.xml, Paths.get(System.getProperty("user.dir")) + "/src/main/resources/mapper/"))
                )
                .strategyConfig(builder -> builder
                        .addInclude(tables) // 设置需要生成的表名
                        .entityBuilder()
                        .enableLombok()


                )
                .templateEngine(new FreemarkerTemplateEngine())
                .execute();
    }
}

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐