第一步:添加依赖

        <!-- mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.2</version>
        </dependency>
        <!-- mybatis-plus代码生成器 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.1</version>
        </dependency>
        <!--逆向工程需要模板引擎-->
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.28</version>
        </dependency>
        <!--oracle数据库连接-->
        <dependency>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc8</artifactId>
            <version>19.11.0.0</version>
        </dependency>
        <!--mysql数据库连接-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

第二步:编写相关代码

 public static void main(String[] args) {
//        DataSourceConfig.Builder dataSourceConfigBuilder = new DataSourceConfig
//                .Builder(
//                 //数据库连接地址
//                "jdbc:oracle:thin:@127.0.0.1:49521:helowin",
//                //数据库用户名
//                "root",
//                //数据库密码
//                "123456");
//        //数据库schema
//        dataSourceConfigBuilder.schema("SZHY");
        //mysql
        DataSourceConfig.Builder dataSourceConfigBuilder = new DataSourceConfig
                .Builder(
                //数据库连接地址
                "jdbc:mysql://localhost:3306/cisql?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&serverTimezone=UTC",
                //数据库用户名
                "root",
                //数据库密码
                "123456");
        //数据库schema
        dataSourceConfigBuilder.schema("cisql");

        FastAutoGenerator.create(dataSourceConfigBuilder)
                .globalConfig(builder -> {
                    builder.author("jerry") // 设置作者
                            //.fileOverride() // 覆盖已生成文件
                            .outputDir("D:\\myproject\\generatorTest\\src\\main\\java\\"); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder.parent("com.example") // 设置父包名
                            .moduleName("demo") // 设置父包模块名
                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml,
                                    "D:\\myproject\\generatorTest\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder.addInclude("sh_supervise_chat_record")
                            .addTablePrefix("sh_"); // 设置过滤表前缀
                })
                .templateEngine(new FreemarkerTemplateEngine())// 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .execute();
    }

}

第三步:运行main方法即可生成对应的controller、service、mapper文件

遇到问题:如果运行代码有报错一般是引入的依赖有问题或者数据库的连接信息有问题,检查相关代码即可解决。如果运行代码后无报错但无代码生成,请检查main方法中生成文件的路径是否配置正确。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐