MybatisPlus概述及入门程序

​ MybatisPlus是由国人开发的基于Mybatis但功能更加强大的持久层框架。内部提供了大量接口,相较于Mybatis更加灵活、更加强大。

使用

  1. 引入依赖,SpringBoot3.0及以上需要使用以下MybatisPlus依赖
1
2
3
4
5
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.5</version>
</dependency>
  1. 在application.yml中进行相关配置
1
2
3
4
5
6
7
8
9
10
11
12
spring:
#数据源配置
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mybatisplus?characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
username: root
password: dch
type: com.zaxxer.hikari.HikariDataSource

mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  1. 创建Mapper接口以及实体类。并且需要告诉Spring mapper接口所在的包
1
2
public interface UserMapper extends BaseMapper<User> {
}
1
2
3
4
5
6
7
8
9
10
11
12
13
package com.deng.dao.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

@Data
@TableName("t_user")
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
1
2
3
4
5
6
7
8
9
@SpringBootApplication
@MapperScan("com.deng.dao.mapper")
public class Demo03Application {

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

}

​ 其中BaseMapper是由MybatisPlus提供的接口,在这个接口中定义了非常多的操作,比如常见的CRUD都有,省去了编写SQL语句的麻烦。

​ @TableName()注解用于告诉MybatisPlus需要操作数据库中表的名字,默认情况下会去寻找和BaseMapper接口中指定类型的同名表,在本例中默认会去找user表

  1. 执行CRUD
1
2
3
4
5
6
7
8
9
10
@Test
public void testInsert(){
User user = new User();
user.setName("张三");
user.setAge(18);
user.setEmail("123456@qq.com");

int count = userMapper.insert(user);
System.out.println("count:" + count);
}

image-20240312210022300

​ 在MybatisPlus中默认会使用雪花算法生成id