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();
    }

    条件构造器

 

12-21 07:35