一、mybatis plus简介

MyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变。MP封装了对单表的CRUD操作,代码生成、自动分页、逻辑删除、自动填充等功能一应俱全。

MP常用注解:

  • @TableName:指定数据库表
  • @TableId:将成员变量指定为数据表主键。其type值有AUTO(数据库 ID 自增)、NONE(默认给出id一个 Long 类型的字符串,type默认值)、INPUT(需要自己传入一个id值)、ASSIGN_ID(使用雪花算法分配id,支持Long、String、Integer三种类型)、ASSIGN_UUID(使用雪花算法分配id,只支持String类型)
  • @TableField:用于非主键属性,映射表字段与bean中的字段

二、mybatis plus的简单使用

1. MP配置

  • 引入MP坐标
<!--mybatis plus-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.2</version>
</dependency>
  • 修改配置文件(properties和yml格式对应转换即可)
# 连接数据库
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://ip:port/databaseName?characterEncoding=UTF-8&useUnicode=true&useSSL=false
spring.datasource.username=username
spring.datasource.password=password
  • 创建mapper,继承BaseMapper,通过泛型指定MP封装的CRUD操作的表格
    在这里插入图片描述

  • 在启动类添加Mapper扫描注解

  • 在这里插入图片描述

  • MP分页配置(根据需要设置)

2. 单表操作

类似selectById()这样固定条件的方法直接调用即可,这里主要讲一下使用MP条件构造器Wrapper自定义条件。

条件构造器的作用是编辑sql where之后的条件语句,且只能用于单表操作,Wapper层级关系如下:
在这里插入图片描述
条件构造器构造方法如下:
在这里插入图片描述
单表CRUD:
在这里插入图片描述
根据条件判断是否添加表达式:wrapper.lambda.like(condition:null != a, filed: key, val:val)

3. 连接查询

多表查询需要自定义sql,可以使用注解式操作,也可以创建xml文件。
在这里插入图片描述

  • 注解式:
    在这里插入图片描述
  • xml文件:
    idea模板设置可参照:https://www.jb51.net/article/199343.htm
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="">

<!--mybatis mapper 的xml模板-->

</mapper>

在这里插入图片描述
在这里插入图片描述
在pom文件的标签中设置扫描xml文件的路径

<!--配置扫描xml文件-->
<resources>
    <resource>
        <directory>src/main/resources</directory>
        <includes>
            <include>**/*.properties</include>
            <include>**/*.xml</include>
        </includes>
    </resource>
    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.properties</include>
            <include>**/*.xml</include>
        </includes>
    </resource>
</resources>

连接查询的两种相关设置到此就可以通过方法调用操作数据库了。

4. 级联查询

在这里插入图片描述

5. 分页查询

@Configuration
public class MyBatisConfiguration {
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }
}

Page<CatPersonalTask> page = new Page<>(页数, 每页大小);
page = page(page, wrapper);
// page.getRecords();
// page.getTotal();

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐