Mybatis-Plus标准数据层开发(详解)
  TEZNKK3IfmPf 2024年03月22日 48 0

标准数据层开发

一、标准数据层CRUD功能

功能 自定义接口 MP接口
新增 oolean save(T t) int insert(T t)
删除 boolean delete(int id) int deleteById( Serializable id)
修改 boolean update(T t) int updateById(T t)
根据id查询 T getById(int id) T selectById(Serializable id)
查询全部 List getAll() List selectList()
分页查询 PageInfo getAll(int page,int size) IPage<>selectPage( IPage page)
按条件查询 ListgetAll( condition condition) IPage selectPage(Wrapper querywrapper)

二、分页功能

编写测试方法开始,准备工作不再叙述
测试用例:

package com.mannor.mybatis_plus_demo;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mannor.mybatis_plus_demo.Dao.UserDao;
import com.mannor.mybatis_plus_demo.pojo.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;

@SpringBootTest
class MybatisPlusDemoApplicationTests {
     
       

    @Autowired
    private UserDao userDao;

    @Test
    void testGetByPage() {
     
       
        IPage page = new Page(1, 2);
        userDao.selectPage(page, null);
        System.out.println("当前页码值:" + page.getCurrent());
        System.out.println("一共多少页:" + page.getPages());
        System.out.println("每页显示数:" + page.getSize());
        System.out.println("当前记录总数:" + page.getTotal());
        System.out.println("查询的数据:" + page.getRecords());
    }
}

测试结果:
Mybatis-Plus标准数据层开发(详解)

本操作相当于select * from user然后再加上limit限定—>此操作叫做拦截并且增强,所以需要配置MP的拦截器,并且开启一个分页拦截器
只有配置此MP拦截器,拦截功能才能发挥作用。

拦截配置Bean:

package com.mannor.mybatis_plus_demo.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;

@Configuration
public class MPConfig {
     
       

    @Bean
    public MybatisPlusInterceptor mpInterceptor() {
     
       

        // 1.定义拦截器
        MybatisPlusInterceptor mpInterceptor = new MybatisPlusInterceptor();
        // 2.定义具体的拦截器
        mpInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return mpInterceptor;
    }
}

再次运行测试类:
Mybatis-Plus标准数据层开发(详解)

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年03月22日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   21天前   47   0   0 java
TEZNKK3IfmPf