1 MyBatisPlusConfig
MyBatisPlus配置类。
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.*;
@Configuration
public class MyBatisPlusConfig {
@Bean
public MybatisPlusInterceptor paginationInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
//添加MySQL的分页拦截器
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
2 UserPagination
用户查询条件类。
package com.entity;
import lombok.Data;
@Data
public class UserPagination {
private int currentPage;
private int pageSize;
}
3 Mapper
3.1 UserMapper.java
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;
@Mapper
public interface UserMapper extends BaseMapper<UserEntity> {
Page<UserEntity> getUserListBySQLPage(Page<UserEntity> page);
}
3.2 UserMapper.xml
<?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
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> {
Page<UserEntity> getUserListByQueryWrapperPage(UserPagination pagination);
Page<UserEntity> getUserListBySQLPage(UserPagination pagination);
}
4.2 UserServiceImpl
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;
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);
}
@Override
public Page<UserEntity> getUserListBySQLPage(UserPagination pagination) {
Page<UserEntity> page = new Page<>(pagination.getCurrentPage(), pagination.getPageSize());
return userMapper.getUserListBySQLPage(page);
}
}
5 UserController
调试代码。
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;
@GetMapping("/getUserListByQueryWrapperPage")
public Page<UserEntity> getUserListByQueryWrapperPage(UserPagination pagination) {
return userService.getUserListByQueryWrapperPage(pagination);
}
@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 分页内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!