mybatis-plus只是mybatis的增强版,其原理不变,只做功能的增强。下面演示一键生成文件

首先创建数据库,存两张表,

 

创建spring-boot工程,

 

引入mybatis-plus和一键生成需要的依赖

  <!--   mybatis-plus自动代码生成器1      -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.1</version>
        </dependency>
        <!--   mybatis-plus自动代码生成器2      -->
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.31</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.2</version>
        </dependency>

 在Test中创建MybatisPlusTest,输入以下代码

package com.mybatisplusstudy;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.Collections;

@SpringBootTest
public class MybatisPlusTest {
    public static void main(String[] args) {
                /**                   数据连接  记得改成你的数据库,用户名和密码                */
        FastAutoGenerator.create("jdbc:mysql://localhost:3306/mybatis-plus?serverTimezone=GMT%2B8", "root", "root")
                .globalConfig(builder -> {
                    builder.author("紫金") // 设置作者
                            //.enableSwagger() // 开启 swagger 模式
//                            .fileOverride() // 释放执行就会覆盖已生成文件
                                      //鼠标右击蓝色java目录,选择Copy Path... 选择 Absolute Path 即可复制路径,粘贴到下面即可
                            .outputDir("C:\\Users\\23500\\Desktop\\mybatis-plus-study\\src\\main\\java"); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder.parent("com.mybatisplusstudy") // 设置父包名
//                            .moduleName("") // 设置父包模块名  需要你就设置
                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml, "C:\\Users\\23500\\Desktop\\mybatis-plus-study\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
//
                    builder.addInclude("user").addInclude("book")// 设置需要生成的表名
//                    builder.addTablePrefix("t_", "c_"). // 设置过滤表前缀  卡尼的表是否存在前缀
                    ;
                })
                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .execute();
    }
}

 之后点击执行main()方法即可生成文件

在yml中配置数据库的连接和日志

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mybatis-plus?serverTimezone=GMT%2B8
    password: root
    username: root
    driver-class-name: com.mysql.cj.jdbc.Driver


mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

 接下来进行测试,在测试类中通过注解属性方式导入,进行数据查询,查看有问题没有

出现报错,原因是没有将Mapper进行注解,启动类没有扫描到Mapper。这里有两个方式,第一个方式就是在Mapper文件上进行注解 (所有Mapper文件都要注解

 

再次执行,发现没有问题 

第二种是在启动类上注解@MapperScan(maper文件路径)

 使用这个方式就不需要注解@Mapper , 在启动类上注解@MapperScan有个缺点就是

 在属性注入时会报红,这是idea的缘故,不会对结果有任何影响,所以看你选择是@Mapper还是@MapperScan,这两个注解都有优缺点

 有什么不足之处还请多担待,欢迎大家进行留言

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐