MybatisPlus概述及入门程序
MybatisPlus是由国人开发的基于Mybatis但功能更加强大的持久层框架。内部提供了大量接口,相较于Mybatis更加灵活、更加强大。
使用
- 引入依赖,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>
|
- 在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
|
- 创建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表
- 执行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); }
|

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