MyBatis Plus 是基于 MyBatis 的增强工具,简化了 MyBatis 的使用,提供了很多增强功能。相比于原生 MyBatis,MyBatis Plus 更加易用,使用 MyBatis Plus 可以加快开发效率。本文主要介绍如何使用 MyBatis Plus 进行常见的增删改查操作。
安装 MyBatis Plus
要使用 MyBatis Plus,需要在项目中引入 MyBatis Plus 的依赖。
在 Maven 中引入 MyBatis Plus:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
在 Gradle 中引入 MyBatis Plus:
implementation 'com.baomidou:mybatis-plus-boot-starter:3.4.1'
配置 MyBatis Plus
在 Spring Boot 项目中,只需要添加以下配置,MyBatis Plus 就可以工作:
mybatis-plus:
mapper-locations: classpath*:mapper/*.xml
实现增删改查操作
实现插入操作
MyBatis Plus 提供了对插入操作的支持。在实体对象中,使用 @TableId
注解标记字段作为主键,使用 @TableField
注解标记其他字段。
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("user")
public class User {
@TableId(type = IdType.AUTO)
private Long id;
@TableField("name")
private String name;
@TableField("email")
private String email;
}
通过 InsertMapper
接口的 insert
方法,可以实现插入操作。
@Autowired
private InsertMapper<User> userInsertMapper;
@Test
void testInsert() {
User user = new User();
user.setName("张三");
user.setEmail("zhangsan@example.com");
userInsertMapper.insert(user);
}
实现查询操作
MyBatis Plus 提供了对查询操作的支持。通过 SelectMapper
接口的 selectOne
、selectById
、selectList
,可以实现分别查询一个实体、根据主键查询一个实体、查询多个实体的操作。如果是复杂的查询需求,可以使用 MyBatis 的 XML 映射文件进行自定义查询。
@Autowired
private SelectMapper<User> userSelectMapper;
@Test
void testSelectOne() {
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("name", "张三");
User user = userSelectMapper.selectOne(wrapper);
Assertions.assertNotNull(user);
}
@Test
void testSelectById() {
Long id = 1L;
User user = userSelectMapper.selectById(id);
Assertions.assertNotNull(user);
}
@Test
void testSelectList() {
List<User> userList = userSelectMapper.selectList(null);
Assertions.assertTrue(userList.size() > 0);
}
实现更新操作
MyBatis Plus 提供了对更新操作的支持。通过 UpdateMapper
接口的 updateById
方法,可以根据主键更新实体。
@Autowired
private UpdateMapper<User> userUpdateMapper;
@Test
void testUpdate() {
Long id = 1L;
User user = userSelectMapper.selectById(id);
user.setName("李四");
user.setEmail("lisi@example.com");
userUpdateMapper.updateById(user);
User updatedUser = userSelectMapper.selectById(id);
Assertions.assertEquals(user.getName(), updatedUser.getName());
Assertions.assertEquals(user.getEmail(), updatedUser.getEmail());
}
实现删除操作
MyBatis Plus 提供了对删除操作的支持。通过 DeleteMapper
接口的 deleteById
方法,可以根据主键删除实体。
@Autowired
private DeleteMapper<User> userDeleteMapper;
@Test
void testDelete() {
Long id = 1L;
userDeleteMapper.deleteById(id);
User user = userSelectMapper.selectById(id);
Assertions.assertNull(user);
}
小结
本文介绍了如何使用 MyBatis Plus 进行增删改查的操作。MyBatis Plus 提供了非常方便的操作方式,使得开发人员可以更加轻松的完成数据库操作。如果对于 MyBatis Plus 还不太熟悉,建议去官方文档了解更多信息。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mybatis Plus 增删改查的实现(小白教程) - Python技术站