mybatis(三):mybatis自定义分页

由于之前mybatis的版本较低,以至于在自定义分页的时候,只能返回列表,总量还是得自己调用count方法,现在升级了mybatis版本之后,对自定义分页进行改造,让其能返回page,代码如下:

 

pom依赖,mybatis版本在3.1.1


    
        
            com.baomidou
            mybatis-plus
            3.1.1
        
        
            com.baomidou
            mybatis-plus-boot-starter
            3.1.1
        

        
            org.springframework.boot
            spring-boot-starter
            2.0.0.RELEASE
        

        
            mysql
            mysql-connector-java
            5.1.38
        
        
            org.springframework.boot
            spring-boot-starter-web
            2.0.0.RELEASE
        
        
            com.alibaba
            fastjson
            1.2.34
        

    

 

引入分页插件

package test.mybatis.plus.config;


import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MybatisConfig {

    /**
     * mybatis的分页插件
     *
     * @return PaginationInterceptor
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }

}

 

dao层

package test.mybatis.plus.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import test.mybatis.plus.entity.Person;

import java.util.List;

@Mapper
public interface PersonMapper extends BaseMapper {

    List selectByAge(Integer age);

    IPage myPagePersonByAge(Page page, @Param(Constants.WRAPPER) Wrapper wrapper);

    IPage myPagePersonByAge2(Page page,@Param("age") Integer age);
}

 

PersonMapper.xml





    

    

    

 

其中第一只ew.customSqlSegment是一种固定写法,第二种根据参数自己定义。

其余的就是service和controller了,这个就不在赘述了。可以去看下上一篇博客吧。

 

你可能感兴趣的:(mybatis分页,mybatis)