mybatisplus代码生成工具_魔兽lua代码一键生成

mybatisplus代码生成工具_魔兽lua代码一键生成Mybatis-Plus一键生成代码 一、闲言碎语 闲来无事看了看了MP的官网看到一键生成的代码更新了! 整个Ui风格都变了,遂决定瞅一眼新的代码生成器 官网地址~~ 二、引入依赖 新的代码生成只有在

Mybatis-Plus一键生成代码

Mybatis-Plus一键生成代码

一、闲言碎语

闲来无事看了看了MP的官网看到一键生成的代码更新了!

image

整个Ui风格都变了,遂决定瞅一眼新的代码生成器

官网地址~~

二、引入依赖

新的代码生成只有在MP的版本 >= 3.5.1才可以使用 并且不兼容之前的版本

<!--        Mybatis-Plus依赖 注意和SpringBoot版本对应-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.0</version>
        </dependency>
<!--        Mybatis-Plus添加代码生成器依赖 3.5.1才可以使用新的代码生成器-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.1</version>
        </dependency>
<!--        Mybatis-Plus添加代码生成器模板引擎-->
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.31</version>
        </dependency>
<!--  swagger可理解为接口文档规范      -->
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-annotations</artifactId>
            <version>1.6.2</version>
        </dependency>

swagger可取舍,如果开启Lombok则可以不使用

三、配置

1、快速生成(简介版)

FastAutoGenerator.create("url", "username", "password")
    .globalConfig(builder -> {
        builder.author("baomidou") // 设置作者
            .enableSwagger() // 开启 swagger 模式
            .fileOverride() // 覆盖已生成文件
            .outputDir("D://"); // 指定输出目录
    })
    .packageConfig(builder -> {
        builder.parent("com.baomidou.mybatisplus.samples.generator") // 设置父包名
            .moduleName("system") // 设置父包模块名
            .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") +)); // 设置mapperXml生成路径 前边是取项目路径
    })
    .strategyConfig(builder -> {
        builder.addInclude("t_simple") // 设置需要生成的表名,不设置生成全表
            .addTablePrefix("t_", "c_"); // 设置过滤表前缀
    })
    .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
    .execute();

2、快速生成(详细版)

public static void main(String[] args) {
        FastAutoGenerator.create("jdbc:mysql://localhost:3306/daydayup?useUnicode=true&useSSL=false&characterEncoding=utf8", "root", "root")
                .globalConfig(builder -> {
                    builder.author("知足") // 设置作者
                            .enableSwagger() // 开启 swagger 模式  可理解为接口文档规范
                            .fileOverride() // 覆盖已生成文件
                            .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder.parent("") // 设置父包名
                            .moduleName("") // 设置父包模块名
                            .entity("entity")
                            .controller("controller")
                            .service("service")
                            .serviceImpl("imp") //设置包名
                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/srca/main/resources/mapper/")); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder.addInclude("表名")// 设置需要生成的表名 不使用该方法默认生成全表
                            .addTablePrefix("t_", "c_") // 设置过滤表前缀
                            .serviceBuilder()//Service配置
                            .formatServiceFileName("%sService")//%s = 表名  表名Service
                            .formatServiceImplFileName("%sServiceImp")//同上
                            .entityBuilder()//实体类配置 一般都是表名
                            .enableLombok()//开启Lombok 开启 swagger 模式 就没必要使用这个
                            .logicDeleteColumnName()//逻辑删除字段对应数据库那个字段
                            .logicDeletePropertyName()//逻辑删除字段对应实体类库那个字段
                            .controllerBuilder()//Controller配置
                            .formatFileName("%sController")
                            .enableRestStyle()//开启生成@RestController控制器
                            .mapperBuilder()//mapper配置
                            .formatMapperFileName("%sMapper")
                            .formatXmlFileName("%sMapper")
                            .enableMapperAnnotation()//开启@Mapper
                            .superClass(BaseMapper.class);//继承的父类
                })
                // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .templateEngine(new FreemarkerTemplateEngine())
                .execute();//傻逼代码 生成完自己打开目录

    }

3、交互生成(暂未研究)

FastAutoGenerator.create(DATA_SOURCE_CONFIG)
    // 全局配置
    .globalConfig((scanner, builder) -> builder.author(scanner.apply("请输入作者名称?")).fileOverride())
    // 包配置
    .packageConfig((scanner, builder) -> builder.parent(scanner.apply("请输入包名?")))
    // 策略配置
    .strategyConfig((scanner, builder) -> builder.addInclude(getTables(scanner.apply("请输入表名,多个英文逗号分隔?所有输入 all")))
                        .controllerBuilder().enableRestStyle().enableHyphenStyle()
                        .entityBuilder().enableLombok().addTableFills(
                                new Column("create_time", FieldFill.INSERT)
                        ).build())
    /*
        模板引擎配置,默认 Velocity 可选模板引擎 Beetl 或 Freemarker
       .templateEngine(new BeetlTemplateEngine())
       .templateEngine(new FreemarkerTemplateEngine())
     */
    .execute();


// 处理 all 情况
protected static List<String> getTables(String tables) {
    return "all".equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(","));
}

还有好多好玩的配置~不一一演示,生成完老是打开生成文件目录,看源码是有一个Open()不知道怎么让他不打开

image

image

迷途者寻影而行

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5598.html

(0)
上一篇 2023-05-02 17:30
下一篇 2023-05-02 19:30

相关推荐

  • PostgreSQL源码学习–调度器#14

    PostgreSQL源码学习–调度器#14本节介绍PortalRun函数。 PortalRun函数 //src/include/tcop/pquery.h extern bool PortalRun(Portal portal, long …

    2023-03-12
    161
  • DG中模拟failover故障与恢复「建议收藏」

    DG中模拟failover故障与恢复「建议收藏」问题描述:情形是当主库真正出现异常之后,才会执行的操作,那么我们执行过failover 之后,如何在重新构建DG,这里我们利用flashback database来重构。模拟前主库要开启闪回

    2022-12-24
    153
  • 使用Python实现微信自动发送信息功能

    使用Python实现微信自动发送信息功能微信是目前最受欢迎的社交软件之一,它方便人们进行日常沟通和交流。在很多场合中,我们需要使用微信向朋友或者客户发送信息,然而手动发送信息费时费力,这时候使用自动化发送信息的方式可以提高效率。而Python正是一种十分适用于自动化任务的编程语言,本文将介绍如何使用Python实现自动发送微信信息的功能。

    2024-04-19
    76
  • 使用Python写标题

    使用Python写标题在这个信息量爆炸的时代,我们每天都会接收到大量的信息,网页就是其中之一。当我们打开一个网页时,页面的呈现方式直接影响我们对这个网站的印象。标题的设计是页面最重要的元素之一,能够直接决定读者是否停留和浏览。

    2024-08-01
    31
  • Python List Get方法详解

    Python List Get方法详解List是Python自带的一种基本数据类型,可以存放各种类型的数据。List在Python中的使用非常广泛,是一个重要的数据结构。Python List Get方法可以用来获取List中的元素。

    2024-03-30
    91
  • 使用Python进行MongoDB数据查找

    使用Python进行MongoDB数据查找在使用Python对MongoDB进行数据查找前,首先需要连接MongoDB数据库,这可以通过pymongo库的MongoClient实现。如下面的代码:

    2024-01-26
    96
  • 使用Tablib进行数据处理

    使用Tablib进行数据处理数据处理在计算机科学和工程中是一个重要的领域,常见的应用包括数据挖掘、机器学习、统计分析等等。在Python中,有许多第三方的库可以帮助我们进行数据处理。本文将介绍一种名为Tablib的库,它能够帮助我们轻松地进行数据导入、导出和转换。

    2024-04-24
    64
  • 输入多个数字

    输入多个数字在计算机编程中,输入多个数字是一个常见的需求。它可以用来处理各种问题,例如求平均值,排序等等。

    2024-08-06
    35

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注