springboot mybatis-plus 快速搭建项目

springboot mybatis-plus 快速搭建项目

文章目录

  • springboot mybatis-plus 快速搭建项目
  • 前言
  • 一 :导入依赖
  • 二、编写代码

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


前言

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


一 :导入依赖


<dependency>
    <groupId>com.baomidougroupId>
    <artifactId>mybatis-plus-boot-starterartifactId>
    <version>3.4.3.4version>
dependency>

<dependency>
    <groupId>com.baomidougroupId>
    <artifactId>mybatis-plus-generatorartifactId>
    <version>3.5.1version>
dependency>

<dependency>
    <groupId>org.freemarkergroupId>
    <artifactId>freemarkerartifactId>
    <version>2.3.31version>
dependency>

<dependency>
    <groupId>org.projectlombokgroupId>
    <artifactId>lombokartifactId>
dependency>

二、编写代码

springboot mybatis-plus 快速搭建项目_第1张图片
以上是我的测试项目目录结构
新建一个类 ( 建议把生成的类写在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

你可能感兴趣的:(SpringBoot,mybatis-plus,spring,boot,mybatis)