• 【Mybatis-Plus在SpringBoot项目中的使用(自动代码生成,太方便了!)】


    Mybatis-Plus在SpringBoot项目中的使用(自动代码生成,太方便了!)

    mybatis-plus官网:https://baomidou.com/

    在这里插入图片描述

    1、使用前提需创建一个SpringBoot项目

    在pom.xml文件的中添加下列依赖

     <!-- mysql8 -->
            <dependency>
                <groupId>com.mysql</groupId>
                <artifactId>mysql-connector-j</artifactId>
            </dependency>
     <!-- mybatis-plus -->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>3.5.2</version>
            </dependency>
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-generator</artifactId>
                <version>3.5.2</version>
            </dependency>
            <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        	</dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    2、查看官方文档中的代码生成器,在test文件夹下编写CodeGenerator.java文件

    在这里插入图片描述

    复制快速生成里面的代码到CodeGenerator.java文件的main方法中,

    注意
    > 1、设置的生成代码输出目录要在你的项目的java目录绝对路径下(即在本地电脑上的完整路径),会根据父包名自动生成代码到父包下,
    2、parent父包名为你项目的启动器的上级目录,
    3、mapper.xml的生成路径放在你的项目的src\main\resources\mapper\+moduleName下,modulName是你自己在resources目录下创建的mapper文件夹下的文件夹目录
    4、设置表名时可以同时设置多张表,表名中间用英文逗号隔开
    5、可以设置需要过滤的表前缀,比如你的表名是:t_user,c_user,可以设置对应的前缀进行过滤

    FastAutoGenerator.create("url", "username", "password")
        .globalConfig(builder -> {
            builder.author("baomidou") // 设置作者
                .enableSwagger() // 开启 swagger 模式
                .fileOverride() // 覆盖已生成文件
                .outputDir("D://"); // 指定输出目录
        })
        .dataSourceConfig(builder -> builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> {
            int typeCode = metaInfo.getJdbcType().TYPE_CODE;
            if (typeCode == Types.SMALLINT) {
                // 自定义类型转换
                return DbColumnType.INTEGER;
            }
            return typeRegistry.getColumnType(metaInfo);
    
        }))
        .packageConfig(builder -> {
            builder.parent("com.baomidou.mybatisplus.samples.generator") // 设置父包名
                .moduleName("system") // 设置父包模块名
                .pathInfo(Collections.singletonMap(OutputFile.xml, "D://")); // 设置mapperXml生成路径
        })
        .strategyConfig(builder -> {
            builder.addInclude("t_simple") // 设置需要生成的表名
                .addTablePrefix("t_", "c_"); // 设置过滤表前缀
        })
        .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
        .execute();
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    3、上面内容编辑正确后,直接运行main方法,运行成功后就可以在项目中看到自动生成的文件夹(我的父包模块名modulName为sys)

    在这里插入图片描述

    可以看到直接根据你的设置的表自动生成一系列数据库服务所需的代码

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    (26)STM32——内部温度传感器笔记
    STM32建立工程问题汇总
    linux 分区 添加 挂载centos挂载 Microsoft basic
    什么蓝牙耳机佩戴舒适?佩戴舒适的蓝牙耳机推荐
    报错:axios发送的所有请求都是404
    ant使用import导入另外一个build文件到当前项目中
    YOLOv8改进 | EIoU、SIoU、WIoU、DIoU、FocusIoU等二十余种损失函数
    c#中的接口
    Docker进阶:深入了解容器数据卷
    JavaWeb 初始cookie与session
  • 原文地址:https://blog.csdn.net/qq_62124267/article/details/133275259