返回

MyBatis Plus CRUD之BaseMapper

后端

MyBatis Plus作为一款强大的MyBatis增强工具包,在无需编写任何SQL语句的情况下,即可轻松实现单一、批量和分页等操作。本文将介绍MyBatis Plus的BaseMapper,并提供详细的CRUD使用教程。

一、BaseMapper简介
BaseMapper是MyBatis Plus的核心模块之一,它提供了基础的CRUD(创建、读取、更新和删除)方法,同时还支持分页和排序功能。BaseMapper可以帮助开发人员快速构建持久层代码,极大地提高开发效率。

二、BaseMapper使用教程

1. 添加依赖

在项目中添加MyBatis Plus依赖:

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

2. 配置数据源

在application.yml中配置数据源信息:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mybatis_plus_demo
    username: root
    password: 123456

3. 定义实体类

实体类是与数据库表对应的Java类,需要继承自BaseMapper。例如,定义一个User实体类:

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

@TableName("t_user")
public class User {

    @TableId(type = IdType.AUTO)
    private Long id;
    private String name;
    private Integer age;

    // 省略getter和setter方法
}

4. 定义Mapper接口

Mapper接口是连接实体类和数据库的桥梁,需要继承自BaseMapper。例如,定义一个UserMapper接口:

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.mybatis_plus_demo.entity.User;

public interface UserMapper extends BaseMapper<User> {

}

5. 使用Mapper接口

在Service或Controller中,可以使用Mapper接口进行CRUD操作。例如,在UserService中添加一个保存用户的方法:

import com.example.mybatis_plus_demo.entity.User;
import com.example.mybatis_plus_demo.mapper.UserMapper;

@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;

    public void saveUser(User user) {
        userMapper.insert(user);
    }

}

三、BaseMapper常用方法

方法 功能
insert() 插入一条记录
update() 更新一条记录
delete() 删除一条记录
selectById() 根据ID查询一条记录
selectList() 查询所有记录
selectPage() 分页查询
selectOne() 查询一条记录

四、注意事项

  • BaseMapper只支持单表操作,不支持复杂的多表查询或联表操作。
  • BaseMapper只能处理实体类和数据库表之间的映射,无法处理复杂的业务逻辑。
  • BaseMapper使用注解的方式配置,需要严格按照官方文档的说明使用。

五、结语
MyBatis Plus的BaseMapper功能强大,使用简单,极大地提高了开发效率。希望本文能够帮助大家快速入门MyBatis Plus,并熟练使用BaseMapper进行CRUD操作。