springboot mybatis-plus 快速搭建项目

本文档详细介绍了如何使用SpringBoot结合Mybatis-Plus搭建项目,包括引入依赖、配置信息及代码生成步骤。通过示例代码展示了如何配置全局、包路径、策略等,帮助开发者快速构建代码生成器,适用于初学者和进阶者。
摘要由CSDN通过智能技术生成

springboot mybatis-plus 快速搭建项目

本文章记录mybatis-plus的常见的配置信息,基本满足快速构建代码需求,可以灵活配置,详细配置上面都有备注


前言

使用idea创建一个springboot 项目,导入下面依赖


一 :导入依赖

<!--  mybatis-plus 插件依赖-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.3.4</version>
</dependency>
<!--  mybatis-plus 生成代码依赖-->
<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>
<!-- lombok 插件 -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

二、编写代码

在这里插入图片描述
以上是我的测试项目目录结构
新建一个类 ( 建议把生成的类写在test目录下包 个人建议 )

注意事项:

fileOverride ------------------------覆盖已生成文件,如果有改动记得禁用掉
dateType --------------------------不修改默认是LocalDate
addInclude(“tableName”) -----初始化后开启指定表生成文件
其他后面看类上注释详细信息

package com.demo.web.generator;

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

import java.util.Collections;

public class GeneratorTable {
    public static void main(String[] args) {
        FastAutoGenerator.create("jdbc:mysql://xxx:3306/xx", "xx", "xx")
                .globalConfig(builder -> {
                    builder.author("xxx") // 设置作者
                            //.enableSwagger() // 开启 swagger 模式
                            //.fileOverride() // 覆盖已生成文件,需要注意,如果你已经写了就不要开启
                            .dateType(DateType.ONLY_DATE)// 日期格式 不写默认是LocalDate
                            .outputDir(System.getProperty("user.dir") + "/report-web/src/main/java") // 指定输出目录
                            .disableOpenDir();//禁止打开输出目录
                })
                .packageConfig(builder -> {
                    builder.parent("com.demo.web") // 设置父包名
                    			// 指定生成的各个模块子包名,不写都是默认值
//                            .moduleName("sys")
//                            .entity("po")
//                            .service("service")
//                            .serviceImpl("service.impl")
//                            .mapper("mapper")
//                            .xml("mapper.xml")
//                            .controller("controller")
//                            .other("other")
                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/report-web/src/main/resources/mapping")); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder
                            //.addInclude("tablename") // 设置需要生成的表名  不写默认所有  后期新增表时填写
                            //.addTablePrefix("t_", "c_"); // 设置过滤表前缀
                            .entityBuilder().enableLombok()// 开启lombok 模式
                            .enableTableFieldAnnotation();// 实体生成表注解@TableName和字段注解@TableField
                }).strategyConfig(builder -> {
                    builder
                    		.enableSkipView() // 跳过视图  默认会将你的视图当成实体
                            .controllerBuilder()
                            .enableRestStyle() // 开启生成@RestController 控制器 默认是@Controller
                            .mapperBuilder()
                            .enableMapperAnnotation(); // 开启@Mapper注解
                })
                .templateEngine(new FreemarkerTemplateEngine())
                .templateConfig(builder -> {
                		// 当你不需要生成某个类型时开启
//                     builder
                                // 禁用生成controller
//                            .disable(TemplateType.CONTROLLER)
                                // 禁用生成实体
//                            .disable(TemplateType.ENTITY)
                                // 禁用生成service
//                            .disable(TemplateType.SERVICE)
                                // 禁用生成接口
//                            .disable(TemplateType.MAPPER)
                                // 禁用生成xml
//                            .disable(TemplateType.XML);
                })
                .execute();
    }
}

更多参数可以查看
https://mp.baomidou.com/guide/generator-new.html#%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值