MyBatisPlus2-标准数据层开发CRUD和分页查询

1. 标准数据层CRUD功能

在这里插入图片描述

基础功能测试

@SpringBootTest
class Mybatisplus01QuickstartApplicationTests {

    @Autowired
    private UserDao userDao;

    @Test
    void testSave(){
        User user = new User();
        user.setName("xwy");
        user.setPassword("666");
        user.setAge(23);
        user.setTel("1111111");
        userDao.insert(user);
    }

    @Test
    void testDelete(){
        userDao.deleteById(1401856123725713409L);
    }

	// 这里不需要动态sql,直接是写修改哪些字段,哪些字段就修改,其它字段不进行修改
    @Test
    void testUpdate(){
        User user = new User();
        user.setId(1L);
        user.setName("Tom888");
        user.setPassword("tom888");
        userDao.updateById(user);
    }

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

2. 分页功能

在使用MyBatisPlus的分页功能时,需要配置分页拦截器。因为MyBatisPlus默认不支持分页查询,而是通过拦截器来实现分页。拦截器可以在SQL 执行前拦截 SQL 语句,动态生成分页 SQL 语句,以实现分页查询功能。
具体来说,分页拦截器会在执行 SQL 语句之前,根据传入的参数生成一个新的分页查询 SQL 语句,并将其设置为参数对象中的 SQL 语句。这样,在执行 SQL 语句时,就会执行分页查询语句,返回指定范围内的结果数据。
所以需要先配置拦截器。

@Configuration
public class MpConfig {
    @Bean
    public MybatisPlusInterceptor mpInterceptor(){
        //1.定义Mp拦截器
        MybatisPlusInterceptor mpInterceptor = new MybatisPlusInterceptor();
        //2.添加具体的拦截器
        mpInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return mpInterceptor;
    }
}

再进行分页测试(如果不进行拦截器拦截,分页功能执行的是SelectAll的功能,配置之后才能使用分页功能)

@Test
void testGetByPage(){
    //IPage对象封装了分页操作相关的数据
    IPage page  = new Page(2,3);// current页码, size每页显示数
    userDao.selectPage(page,null);
    System.out.println("当前页码值:"+page.getCurrent());
    System.out.println("每页显示数:"+page.getSize());
    System.out.println("一共多少页:"+page.getPages());
    System.out.println("一共多少条数据:"+page.getTotal());
    System.out.println("数据:"+page.getRecords());
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值