gpt4 book ai didi

MyBatis-Plus实现2种分页方法(QueryWrapper查询分页和SQL查询分页)

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章MyBatis-Plus实现2种分页方法(QueryWrapper查询分页和SQL查询分页)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

 1 MyBatisPlusConfig

MyBatisPlus配置类.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.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.*;
 
/**
  * MyBatisPlus配置类
  */
@Configuration
public class MyBatisPlusConfig {
 
     /**
      * MyBatisPlus拦截器(用于分页)
      */
     @Bean
     public MybatisPlusInterceptor paginationInterceptor() {
         MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
         //添加MySQL的分页拦截器
         interceptor.addInnerInterceptor( new PaginationInnerInterceptor(DbType.MYSQL));
         return interceptor;
     }
}

2 UserPagination

 用户查询条件类.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package com.entity;
 
import lombok.Data;
 
/**
  * 查询条件
  */
@Data
public class UserPagination {
     /**
      * 当前页号
      */
     private int currentPage;
     /**
      * 每页显示条数
      */
     private int pageSize;
}

3 Mapper

3.1 UserMapper.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package com.mapper;
 
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.entity.UserEntity;
import com.entity.UserPagination;
import org.apache.ibatis.annotations.Mapper;
 
/**
  * 用户信息dao层
  */
@Mapper
public interface UserMapper extends BaseMapper<UserEntity> {
     /**
      * 获取用户信息(SQL查询分页)
      *
      * @param page 分页条件
      * @return
      */
     Page<UserEntity> getUserListBySQLPage(Page<UserEntity> page);
}

3.2 UserMapper.xml

?
1
2
3
4
5
6
7
8
<? xml version = "1.0" encoding = "UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
< mapper namespace = "com.mapper.UserMapper" >
     < select id = "getUserListBySQLPage" resultType = "com.entity.UserEntity" >
         SELECT *
         from users
     </ select >
</ mapper >

4 Service

4.1 UserService

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.service;
 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.entity.*;
 
 
public interface UserService extends IService<UserEntity> {
     /**
      * 获取用户信息(QueryWrapper查询分页)
      *
      * @param pagination 查询条件
      * @return
      */
     Page<UserEntity> getUserListByQueryWrapperPage(UserPagination pagination);
 
     /**
      * 获取用户信息(SQL查询分页)
      *
      * @param pagination 查询条件
      * @return
      */
     Page<UserEntity> getUserListBySQLPage(UserPagination pagination);
}

4.2 UserServiceImpl

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.service.impl;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.entity.*;
import com.mapper.UserMapper;
import com.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, UserEntity> implements UserService {
    @Autowired
    private UserMapper userMapper;
     /**
      * 获取用户信息(QueryWrapper查询分页)
      *
      * @param pagination 查询条件
      * @return
      */
     public Page<UserEntity> getUserListByQueryWrapperPage(UserPagination pagination) {
         QueryWrapper<UserEntity> queryWrapper = new QueryWrapper<>();
         Page<UserEntity> page = new Page<>(pagination.getCurrentPage(), pagination.getPageSize());
         return this .page(page, queryWrapper);
     }
 
     /**
      * 获取用户信息(SQL查询分页)
      *
      * @param pagination 查询条件
      * @return
      */
     @Override
     public Page<UserEntity> getUserListBySQLPage(UserPagination pagination) {
         Page<UserEntity> page = new Page<>(pagination.getCurrentPage(), pagination.getPageSize());
         return userMapper.getUserListBySQLPage(page);
     }
}

5 UserController

调试代码.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package com.controller;
 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.entity.*;
import com.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
 
@RestController
public class UserController {
     @Autowired
     private UserService userService;
 
     /**
      * 获取用户信息(QueryWrapper查询分页)
      *
      * @return
      */
     @GetMapping ( "/getUserListByQueryWrapperPage" )
     public Page<UserEntity> getUserListByQueryWrapperPage(UserPagination pagination) {
         return userService.getUserListByQueryWrapperPage(pagination);
     }
 
     /**
      * 获取用户信息(SQL查询分页)
      *
      * @return
      */
     @GetMapping ( "/getUserListBySQLPage" )
     public Page<UserEntity> getUserListBySQLPage(UserPagination pagination) {
         return userService.getUserListBySQLPage(pagination);
     }
 
}

6 调试结果 

6.1 QueryWrapper查询分页

MyBatis-Plus实现2种分页方法(QueryWrapper查询分页和SQL查询分页)

6.2 SQL查询分页 

  。

 注:

更多MyBatis-Plus的配置请查看以下博客.

Spring Boot 配置MyBatis-Plus(实现查询、新增、更新、删除) 。

到此这篇关于MyBatis-Plus实现2种分页方法(QueryWrapper查询分页和SQL查询分页)的文章就介绍到这了,更多相关MyBatis-Plus 分页内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://blog.csdn.net/qq_38974638/article/details/119720371 。

最后此篇关于MyBatis-Plus实现2种分页方法(QueryWrapper查询分页和SQL查询分页)的文章就讲到这里了,如果你想了解更多关于MyBatis-Plus实现2种分页方法(QueryWrapper查询分页和SQL查询分页)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com