8、Mybatis-Plus 分页插件、自定义分页
  TEZNKK3IfmPf 2023年11月15日 22 0

1、分页插件

1.1、添加配置类

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

}

1.2、测试

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

    }

1.3、测试结果

8、Mybatis-Plus 分页插件、自定义分页

2、XML自定义分页

2.1、UserMapper中定义接口方法

/**
     * 通过年龄查询用户信息并分页
     * @param page mybatis-plus 所提供的分页对象,必须位于第一个参数的位置
     * @param age
     * @return
     */
    Page<User> selectPageVo(@Param("page") Page<User> page,@Param("age") Integer age);

2.2、UserMapper.xml中编写SQL

<!--    自定义分页 查询-->
    <select id="selectPageVo" resultType="User">
        select uid,user_name,age,email from t_user where age > #{age}
    </select>

这里使用mybatis-plus中的起别名。需要在yml文件中进行配置

spring:
#  配置数据源信息
  datasource:
#    配置数据源类型
    type: com.zaxxer.hikari.HikariDataSource
#    配置连接数据库的各个信息
    username: root
    password: root
    url: jdbc:mysql://localhost:3306/mybatis_plus?allowMultiQueries=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
    driver-class-name: com.mysql.cj.jdbc.Driver


server:
  port: 8383





mybatis-plus:
  configuration:
    #配置Mybatis日志
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

#设置mybatis-plus的全局配置:
  global-config:
    db-config:
      #设置实体类对应数据库中表的统一前缀
      table-prefix: t_
      #配置mybatis-plus的主键策略
      id-type: auto
   #配置类型别名所对应的包

8、Mybatis-Plus 分页插件、自定义分页

2.3、测试

@Test
    public void testPageInDefine(){
        Page<User> page = new Page<>(2,3);
        userMapper.selectPageVo(page,22);
        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());

    }

2.4、测试结果

8、Mybatis-Plus 分页插件、自定义分页

2.5、数据库中表数据

8、Mybatis-Plus 分页插件、自定义分页

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

  1. 分享:
最后一次编辑于 2023年11月15日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2023年11月15日   20   0   0 自定义json
TEZNKK3IfmPf