MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
官网:MyBatis-Plus
引入maven坐标
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>
常用注解
新增操作
User user = new User();
user.setName("张四");
user.setAge(34);
user.setPassword("111111111");
user.setTel("1333344556");
log.info("user:{}",user);
userMapper.insert(user);
删除操作
/**
* 测试Mapper接口的delete方法,可以删除数据
*/
@Test
void testDelete(){
//根据id删除数据
int i = userMapper.deleteById(1624945956237721601L);
System.out.println(i);
//根据id批量删除数据
int batchIds = userMapper.deleteBatchIds(Arrays.asList(1625061142848167937L, 1625061824372146177L));
System.out.println(batchIds);
}
// 根据id删除
userMapper.deleteById(1);
// 根据id批量删除
int i = userMapper.deleteBatchIds(Arrays.asList(2, 3, 4, 5));
修改操作
/**
* 测试Mapper接口的update方法,根据id修改数据
*/
@Test
void testUpdate(){
User user = new User();
user.setId(12L);
user.setName("张三");
int i = userMapper.updateById(user);
System.out.println(i);
}
查询操作
- 分页查询前需要设置分页拦截器
-
@Configuration public class MPConfiguration { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor(){ MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor(); //添加分页拦截器,实现分页查询功能 mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor()); return mybatisPlusInterceptor; } }
/** * 测试Mapper接口的select方法,可以查询数据 */ @Test void testSelect(){ //根据id查询数据 User user = userMapper.selectById(1625307405933957121L); System.out.println(user); //根据id批量查询数据 List<User> users = userMapper.selectBatchIds(Arrays.asList(1625307405933957121L, 1625310776384380930L)); System.out.println(users); //分页查询条件对象 Page<User> page = new Page<>(1,5); //分页查询 userMapper.selectPage(page,null); System.out.println(page); //总记录数 long total = page.getTotal(); //分页结果数据 List<User> records = page.getRecords(); }
条件构造器