精华内容
下载资源
问答
  • mybatisplus分页插件使用
    千次阅读
    2022-04-28 14:51:23

    写个文章仅仅为了记笔记——————

    目录

    一.实现一个简单的分页测试功能

    (一)添加配置类

    (二)接下来创建一个测试类MyBatisPlusTest

    (三)一些page对象封装的数据测试

    二. 自定义分页功能

    (一)创建接口

    (二)添加配置文件

    (三)创建测试方法


    MyBatisPlus自带分页插件,只需简单的配置就可以实现分页功能

    一.实现一个简单的分页测试功能

    (一)添加配置类

    最好在项目src内新创建一个config配置类文件夹,创建配置类MyBatisPlusConfig

    1.添加配置类注解@Configuration。

    2.需要扫描mapper接口所在的包(主类中的注解移过来)例:

    @MapperScan("nuc.guigu.zwj.mybatisplus.mapper")

    3.配置分页插件(需要注解@Bean)

    配置类代码:

    @Configuration
    @MapperScan("nuc.guigu.zwj.mybatisplus.mapper")
    public class MyBatisPlusConfig {
        //配置分页插件
        @Bean
        public MybatisPlusInterceptor mybatisPlusInterceptor(){
            MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
       //数据库类型是MySql,因此参数填写DbType.MYSQL
            interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
            return interceptor;
        }
    }

    (二)接下来创建一个测试类MyBatisPlusTest

    1.测试类记得添加注解@SpringBootTest

    2.对使用的mapper组件进行自动装配,添加注解@Autowired

    @Autowired
    UserMapper userMapper;

    3.测试方法里

    userMapper方法里有一个selectPage(),这个方法参数有两个,第一个是Page类型的(分页对象),第二个是Wapper类型的,因此我们创建这两个对象。

    Page类的泛型为我们操作的实体类对象,参数为当前页的页码(current),个每页显示的条数(size),语句为

    Page<User> page = new Page<>(2,3);

    第二个参数Wapper类型为条件构造器的条件,因为这里查询的是所有数据(即没有条件),所以Wapper类型的数据填null。

    输出page对象,执行可以看到输出的是page的内存地址

    那么之后就可以访问page对象的各个数据。

    4.测试类代码

    @SpringBootTest
    public class MyBatisPlusPluginsTest {
    
        @Autowired
        UserMapper userMapper;
    
        @Test
        public void test01(){
            Page<User> page = new Page<>(2,3);
            userMapper.selectPage(page,null);
            System.out.println(page);
        }
    }

    (三)一些page对象封装的数据测试

    System.out.println(page.getRecords());//获取分页记录
    System.out.println(page.getPages());//总页数
    System.out.println(page.getTotal());//总记录数
    System.out.println(page.hasNext());//是否有下一页
    System.out.println(page.hasPrevious());//是否有上一页

    二. 自定义分页功能

    加入需要查询以用户年龄为条件输出用户信息数据并分页时

    自定义的page方法返回值必须是page

    (一)创建接口

    在接口类Mapper类里创建方法SelectPageByAge(),类型仍然为Page,泛型为实体类User,参数第一个为Page<User> page,第二个为年龄Integer age。这里有两个参数,我们设置参数的访问规则可以使用@Param。

        Page<User> selectPageByUser(@Param("page") Page<User> page, @Param("age") Integer age);
    

    (二)添加配置文件

    配置类型别名所对应的包,在yml中添加配置

    mybatis-plus:
      #配置类型别名所对应的包
      type-aliases-package: nuc.guigu.zwj.mybatisplus.pojo

    这个时候就可以使用类型别名了,这个包下的所有的类型都可以使用所对应的默认的别名,即resultType可以直接等于“User”,而不用写user的相对路径。

    在xml文件中添加SelectPageByAge方法的映射

    <select id="selectPageByAge" resultType="User">
            select uid,user_name,age,email
            from t_user where age > = #{age};
        </select>

    (三)创建测试方法

    前面的都一样,改变的是自定义page方法的第二个参数,将其改为了Integer类型的年龄age

    @Test
        public void testPageByAge(){
            Page<User> page = new Page<>(1,3);
            userMapper.selectPageByAge(page,20);
            System.out.println(page.getRecords());//获取分页记录
            System.out.println(page.getPages());//总页数
            System.out.println(page.getTotal());//总记录数
            System.out.println(page.hasNext());//是否有下一页
            System.out.println(page.hasPrevious());//是否有上一页
        }

    测试完成

    更多相关内容
  • 再开发过程中市场要写分页的功能,这里介绍mybatisplus分页插件使用

    添加插件pom依赖

    <!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.1</version>
    </dependency>
    
    

    编写配置文件

    package com.qhy.demo.config;
    
    import com.baomidou.mybatisplus.annotation.DbType;
    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;
    
    /**
     * @author qiuhongyu
     * @date 2022/5/18 17:55
     */
    @Configuration
    public class MyBatisPlusConfig {
        @Bean
        public MybatisPlusInterceptor mybatisPlusInterceptor() {
            MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
            interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
            return interceptor;
        }
    }
    

    使用方法,设置当前页和每页显示的条数。然后调用方法查询的时候将page的时候放进去即可

    Page<ModelCampaignVO> page = new Page<>(pageNum(), pageSize());
    demoMapper.getUserInfo(name,page)
    
    展开全文
  • @MapperScan("com.zyz.mybatisplus.mapper") public class MyBatisPlusConfig { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor(){ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor...


    文件的创建: https://blog.csdn.net/weixin_43304253/article/details/125047008

    1、目录结构

    在这里插入图片描述

    2、新增配置

    @Configuration
    //扫描mapper接口所在的包
    @MapperScan("com.zyz.mybatisplus.mapper")
    public class MyBatisPlusConfig {
    
        @Bean
        public MybatisPlusInterceptor mybatisPlusInterceptor(){
            MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
            interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
            return interceptor;
        }
    
    }
    

    3、编写测试类

    @SpringBootTest
    public class MyBatisPlusPluginsTest {
    
        @Autowired
        private  UserMapper userMapper;
    
        @Test
        public void testPage(){
            Page<User> page = new Page<>(2,3);
            userMapper.selectPage(page,null);
            System.out.println(page.getRecords());
            System.out.println(page.getPages());
            System.out.println(page.getTotal());
            System.out.println(page.hasNext());
            System.out.println(page.hasPrevious());
    
        }
    
    }
    
    

    4、测试结果

    在这里插入图片描述

    5、数据库中的表

    在这里插入图片描述

    展开全文
  • MybatisPlus - 分页插件使用

    千次阅读 2022-06-23 18:11:57
    MybatisPlus 分页插件使用

    Mybatis Plus 官方文档 - 分页插件说明 中可以看到分页插件支持的数据库,以及可配置的属性参数说明。这里只是结合工作中的项目说明一下该插件(还有另外一个分页插件 PageHelper)的使用方式:

    背景

    几乎每一个 web 项目都需要使用到分页,在不使用分页插件的时候,我们一般返回分页数据都是在 sql 语句后面添加 limit 语句,然后再配置一条 sql 语句来查询某些条件下的总条数:

    // 查询数据
     <select id="listByOrderId">        
         select * from order
    	<where>
    		<if>
    			...
    		</if>
    		...
    	</where>
     	limit #{pageIndex} , #{pageSize}     
     </select>
     
     // 查询总数量
     <select id="countByOrderId" resultType="java.lang.Integer">       
        select count(*) from order where orderId = #{orderId}
        <where>
    		<if>
    			...
    		</if>
    		...
    	</where>
     </select>
    

    然后再新建一个分页对象用于返回数据,比如:

    public class PageResult {
    
    	/**
    	 * 总页数
    	 */
    	private int total;
    
    	/**
    	 * 数据
    	 */
    	private List<T> list;
    }
    

    通用接口

    官方提供了几种通用分页查询:

    // 无条件分页查询
    IPage<T> page(IPage<T> page);
    // 条件分页查询
    IPage<T> page(IPage<T> page, Wrapper<T> queryWrapper);
    // 无条件分页查询
    IPage<Map<String, Object>> pageMaps(IPage<T> page);
    // 条件分页查询
    IPage<Map<String, Object>> pageMaps(IPage<T> page, Wrapper<T> queryWrapper);
    

    自定义接口

    • mapper

    第一个参数必须是分页的参数 IPage,后面的参数可以是查询参数

    IPage<PayOrderListVO> listPayOrder(IPage<PayOrderListVO> query);
    
    • service
    Page<PayOrderListVO> pageQuery = new Page<>(query.getPageIndex(), query.getPageSize());
    IPage<PayOrderListVO> list = orderPayInfoMapper.listPayOrder(pageQuery);
    
    展开全文
  • MyBatisplus分页插件

    千次阅读 2022-05-04 15:29:35
    配置分页插件2. 编写分页代码3. 测试二、自定义查询2.1. 自定义接口2.2. 自定义查询2.3. 测试自定义分页 一、后台分页配置 MyBatis Plus自带分页插件(即BaseMapper接口中的selectPage()方法),只要简单的配置即可...
  • import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import ...
  • MybatisPlus 分页插件

    2021-11-05 22:36:52
    前端代码 <...-- 分页start --> <el-dialog :visible.sync="dialogPageviewsVisible" title="Reading statistics" > <el-table :data="pageviewsData" border fit highl.
  • MybatisPlus分页查询插件
  • MybatisPlus分页插件

    2022-05-29 23:37:08
    1、分页插件 MyBatis Plus自带分页插件,只要简单的配置...mybatisPlus分页插件只需这两步就可以对查询到的数据进行分页。 pageNum是前端传来的当前页,pageSize是前端传来的一页有多少条数据,name是查询条件。 ...
  • //新建分页对象 Page<T> page = new Page<>(); //设置当前页 page.setCurrent(current); //设置当前记录数 page.setSize(size); //分页操作实现,括号里面写的是你在mapper层写的查询接口,需要...
  • 主要介绍了解决MybatisPlus插件分页查询不起作用总是查询全部数据问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • SpringBoot简单使用MybatisPlus分页插件
  • mybatisplus分页查询——Page
  • MybatisPlus分页插件使用 实现医院列表展示 1. 添加service分页接口与实现 在HospitalService类添加分页接口 /** * 分页查询 * @param page 当前页码 * @param limit 每页记录数 * @param hospitalQueryVo ...
  • package com.dongmu.mybatisplus.config; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import ...
  • mybatis-plus整合springboot,分页插件使用
  • 配置分页插件 ```java @Configuration public class MyBatisPlusConfig { ​ /** * 分页插件配置 * * @return PaginationInterceptor */ @Bean public PaginationInterceptor paginationInterceptor() { return ...
  • MybatisPlus使用分页插件
  • mybatis-plus分页插件使用

    千次阅读 2022-01-27 18:15:42
    分页插件使用 (1)简介:与 mybatis 的插件 pagehelper 用法类似。通过简单的配置即可使用。 (2)使用Step1: 配置分页插件。  编写一个 配置类,内部使用 @Bean 注解将 PaginationInterceptor 交给 Spring...
  • mybatis-plus 分页插件使用

    千次阅读 2022-01-22 16:29:39
    首先要先配置好分页插件。 写一个配置类,在其中加入分页插件 @Bean MybatisPlusInterceptor mybatisPlusInterceptor(){ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor....
  • import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import ...
  • Mybatis-Plus分页插件使用Config配置ServiceController测试 Config配置 @Configuration @EnableTransactionManagement @MapperScan("com.liyue.music.dao") public class ApplicationConfig { /** * 插件主体 * ...
  • import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; ...
  • 1.在SpringBoot项目的maven里导入mybatis-plus插件 <!-- mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</...
  • mybatisplus分页插件以及自定义分页

    千次阅读 2022-04-21 15:34:20
    目录 1、分页插件 a>添加配置类 b>测试 2.xml自定义分页 a>UserMapper中定义接口方法 b>UserMapper.xml中编写SQL c>测试 1、分页插件 MyBatis Plus自带分页插件,只要简单的配置即可实现分页功能 。 a>添加配置类 ...
  • mybatis-plus 分页插件

    2022-08-02 13:39:59
    大家之前肯定都用过PageHelper来进行分页,其实mybatisplus中也提供了一个分页插件PaginationInnerInterceptor,其实分页的本质就是内部封装了一个拦截器,对于满足条件的数据进行过滤处理。有时候可能mybatisplus中...
  • MyBatisPlus分页插件拦截器配置 package com.hospital.common.security.core.config; import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; import org.springframework.context.annotation....
  • import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Bean; import org....
  • * 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除) */ @Bean public MybatisPlusInterceptor ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,688
精华内容 3,475
关键字:

mybatisplus分页插件使用

友情链接: bubble-sort.rar