MybatisPlus(MP)学习笔记1

目录

介绍

使用

常用注解说明

小知识       


​​​​​​​

        最近写的项目中应用到了MybatisPlus,特此来学习记下笔记。

介绍

        MyBatis-Plus (简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

使用

Step1:

        首先建立一个数据库,这里是根据MybatisPlus官方文档给的sql脚本建立的

DROP TABLE IF EXISTS user;

CREATE TABLE user
(
	id BIGINT(20) NOT NULL COMMENT '主键ID',
	name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
	age INT(11) NULL DEFAULT NULL COMMENT '年龄',
	email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
	PRIMARY KEY (id)
);

DELETE FROM user;

INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, '[email protected]'),
(2, 'Jack', 20, '[email protected]'),
(3, 'Tom', 28, '[email protected]'),
(4, 'Sandy', 21, '[email protected]'),
(5, 'Billie', 24, '[email protected]');

Step2:        

        新建一个Springboot工程,然后引入相关的依赖

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

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

        <!--jdbc-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <!--MybatisPlus依赖,不需要在额外引入Mybatis-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.3.2</version>
        </dependency>
        <!--Druid连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.3</version>
        </dependency>
        <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
    </dependencies>

Step3:

        配置数据库的基本信息

spring:
  datasource:
    username: ****
    password: ****
    url: *****
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource

Step4:

        创建相应的pojo类和mapper接口,并加上@MapperScanner注解

        

@SpringBootApplication
@MapperScan("com.jp.mptest.mapper")
public class MpTestApplication {

    public static void main(String[] args) {
        SpringApplication.run(MpTestApplication.class, args);
    }

}

 Step5:

        MP的一大特性就是

  • 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求

        因为其内置了通用Mapper,所以我们就让我们创建的Mapper接口去继承BaseMapper<对应的pojo类>

        此时,我们就已经实现了MP所提供的对于数据库的CRUD操作,来测试一下,获取所有的user信息:

        控制台信息,可以看到所有的成员信息已经被查出

 

补充: 

        以上就是Mapper CRUD接口的使用步骤,当然BaseMapper这个类中提供的接口种类是非常多的,详情可以见MP官方文档——CRUD 接口 | MyBatis-Plus

常用注解说明

1.@TableName 表名注解

因为MP会默认将pojo类名当成表名,如果类名和表名不一致的时候可以使用此注解

@TableName(value="表名")

 2.@TableId 主键注解

 @TableId(value = "id", type = IdType.AUTO):自增 

3.@TableField 字段注解

用于类中的字段名和数据库中的字段名不一致的情况,或该字段有特殊用途

@TableField(exist = false):表示该属性不为数据库表字段,但又是必须使用的。

@TableField(exist = true):表示该属性为数据库表字段。 

@TableField(condition = SqlCondition.LIKE):表示该属性可以模糊搜索。 

@TableField(fill = FieldFill.INSERT):注解填充字段 ,生成器策略部分也可以配置!

4.@Version 乐观锁标记注解

小知识       

MP可以在插入一条数据后,直接获取刚刚插入的数据的主键id

猜你喜欢

转载自blog.csdn.net/qq_45933810/article/details/120685289
今日推荐