[MyBatisPlus]Plus分页插件的配置和使用
生活随笔
收集整理的這篇文章主要介紹了
[MyBatisPlus]Plus分页插件的配置和使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Plus分頁插件的配置和使用
配置類
package com.xxxx.mybatisplus.config;import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;@Configuration // 掃描mapper接口所在的包 @MapperScan("com.xxxx.mybatisplus.mapper") public class MyBatisPlusConfig {@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor(){MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}}測試
package com.xxxx.mybatisplus;import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xxxx.mybatisplus.mapper.UserMapper; import com.xxxx.mybatisplus.pojo.User; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest public class MyBatisPlusPluginsTest {@Autowiredprivate UserMapper userMapper;@Testpublic void testPage(){// 第1頁,每一頁顯示3條數據Page<User> page = new Page<>(1,3);userMapper.selectPage(page, null);System.out.println(page);}}分頁相關數據獲取
package com.xxxx.mybatisplus;import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xxxx.mybatisplus.mapper.UserMapper; import com.xxxx.mybatisplus.pojo.User; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest public class MyBatisPlusPluginsTest {@Autowiredprivate UserMapper userMapper;@Testpublic void testPage(){// 第1頁,每一頁顯示3條數據Page<User> page = new Page<>(1,3);userMapper.selectPage(page, null);System.out.println(page.getRecords());// 獲得當前頁數據System.out.println(page.getCurrent());// 獲得頁碼System.out.println(page.getSize());// 獲得每頁顯示條數System.out.println(page.getPages());// 獲得總頁數System.out.println(page.getTotal());// 獲得總記錄數System.out.println(page.hasNext());// 是否有下一頁System.out.println(page.hasPrevious());// 是否有上一頁}}自定義分頁功能
UserMapper
package com.xxxx.mybatisplus.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xxxx.mybatisplus.pojo.User; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository;import java.util.Map;// 將類或者接口標記為持久層組件 這樣就不會看見test類中的紅線警告了 @Repository public interface UserMapper extends BaseMapper<User> {/*** 根據id查詢用戶信息為map集合* @param id* @return*/Map<String,Object> selectMapById(Long id);/*** 如果想通過分頁插件作用于我們自己定義的函數,第一個參數必須是Page對象* 通過年齡查詢用戶信息并分頁* @param page MyBatis-Plus所提供的分頁對象,必須位于第一個參數的位置* @param age* @return*/Page<User> selectPageVo(@Param("page") Page<User> page,@Param("age") Integer age);}yaml
UserMapper.xml
<!-- Page<User> selectPageVo(@Param("page") Page<User> page,@Param("age") Integer age);--> <!-- 默認別名就是類名不區分大小寫--> <select id="selectPageVo" resultType="User">select uid,user_name,age,email from user where age > #{age} </select>測試
@Testpublic void testPageVo(){// 第1頁,每一頁顯示3條數據// select uid,user_name,age,email from user where age > ? LIMIT ?Page<User> page = new Page<>(1,3);userMapper.selectPageVo(page, 20);System.out.println(page.getRecords());// 獲得當前頁數據System.out.println(page.getCurrent());// 獲得頁碼System.out.println(page.getSize());// 獲得每頁顯示條數System.out.println(page.getPages());// 獲得總頁數System.out.println(page.getTotal());// 獲得總記錄數System.out.println(page.hasNext());// 是否有下一頁System.out.println(page.hasPrevious());// 是否有上一頁}總結
以上是生活随笔為你收集整理的[MyBatisPlus]Plus分页插件的配置和使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 硬盘维修基础:分区表结构
- 下一篇: [MyBatisPlus]乐观锁和悲观锁