返回
MyBatis Plus CRUD之BaseMapper
后端
2024-02-21 17:47:39
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操作。