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查询分页
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