一篇文章带你掌握MyBatis简化框架——MyBatisPlus( 四 )

标准数据层开发(简单版)首先我们来列出一些我们通常开发中会使用的数据层语句:
功能MP接口新增int insert(T t)删除int deleteById(Serializable id)修改int updateById(T t)根据id查询T selectById(Serializable id)查询全部List selectList()上述方法我们无需在数据层定义,直接测试即可:
package com.itheima;import com.baomidou.mybatisplus.core.metadata.IPage;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import com.itheima.dao.UserDao;import com.itheima.domain.User;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import java.util.List;@SpringBootTestclass Mybatisplus01QuickstartApplicationTests {    // 自动装配数据层    @Autowired    private UserDao userDao;    // 注意:id的数据类型为LONG,数值后需要加L    // 注意:下述部分方法需要返回id,实体类,null    // 新增    @Test    void testSave(){        User user = new User();        user.setName("黑马程序员");        user.setPassword("itheima");        user.setAge(12);        user.setTel("4006184000");        userDao.insert(user);    }    // 删除    @Test    void testDelete(){        userDao.deleteById(1L);    }    // 更新(注意:根据id进行更新,更新与原数据不同的数值,null值不进行更新)    @Test    void testUpdate(){        User user = new User();        user.setId(1L);        user.setName("Tom888");        user.setPassword("tom888");        userDao.updateById(user);    }    // 根据id查询    @Test    void testGetById(){        User user = userDao.selectById(2L);        System.out.println(user);    } // 查询全部    @Test    void testGetAll() {        List<User> userList = userDao.selectList(null);        System.out.println(userList);    }}标准数据层开发(分页查询)我们将分页查询单独列为一个小节进行讲解:
功能MP接口分页查询IPage<T> selectPage(IPage<T> page)MyBatisPlus的分页查询需要一些前置条件,我们下面一一讲述:

  1. 添加拦截器,进行分页操作:
// MyBatisPlus的分页操作需要添加拦截器// 我们在Java文件夹下创建Config文件夹,创建MPConfig的Java类作为配置类package com.itheima.config;import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;// 作为配置类,让spring可以直接扫描@Configurationpublic class MpConfig {    // 需要设置为Bean    @Bean    public MybatisPlusInterceptor mpInterceptor(){        //1.定义Mp拦截器MybatisPlusInterceptor(相当于外层拦截器)        MybatisPlusInterceptor mpInterceptor = new MybatisPlusInterceptor();        //2.添加具体的拦截器PaginationInnerInterceptor(相当于在大拦截器中添加小拦截器)        mpInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());        return mpInterceptor;    }}

经验总结扩展阅读