Mybatis-Plus的笔记

Mybatis-Plus其实是Mybatis的升级版,他简化了原先mybatis需要手动写CURD语句转而继承BaseMapper来实现。具体变化如下:

1,MyBatis-Plus简介:MP,是mybatis的增强工具,是基于mybatis上开发的。

特点:

Maven坐标:

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.3</version>
</dependency>

配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.0</version>
        <relativePath/>
    </parent>
    <groupId>com.itheima</groupId>
    <artifactId>mp-demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <properties>
        <java.version>11</java.version>
    </properties>
    <dependencies>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.3</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.16</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.12</version>
        </dependency>

    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

配置数据源:

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatisplus_db?serverTimezone=UTC
    username: root
    password: root
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启mp日志,将sql输出到控制台

2,CURD接口

我们只需要直接调用就好了:在ymi文件中加入

3,常用注解

@TableName()用来指定当前类对应的数据库的表名

@TableFile()用来指定当前属性在数据库表中对应的字段

@TableId()用来指定当前属性为数据库表中的主键

示例:

public class User {
    @TableId(type = IdType.AUTO) //当前id属性和表的主键字段id对应,并且设置主键生成策略为AUTO
    private Long id;
}

4,条件构造器(MyBatis-Plus的特色)

我们一般常用:QueryWrapper,UpdateWrapper和LembdaQueryWrapper,LembdaUpdateWrapper两组条件构造器来进行查询语句的构造和修改语句的构造

5,扩展功能

(1)逻辑删除

(2)MP对于Service层的支持

我们只需要在XXService接口上继承IService和XXServiceImpl接口上继承ServiceImpl<使用的Mapper, 插入的实体(XX)>

在业务实现类中可以调用 ServiceImpl 中的 getBaseMapper 方法获得对应的mapper对象

(3)代码生成器

在生成器中我们一般使用了生成代码之后还需要做一定的修改,比如生成器中生成的代码并没有给mapper加入@Mapper注解,还有需要注意的是在生成的实体类中可能主键生成的方法我们在配置文件中有设置,此时我们需要把实体类中的@TableId(type = IdType.AUTO)中括号里面的给注释掉,从而实现我们使用自己的设置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这种幸福很生活

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值