经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MyBatis » 查看文章
oracle+mybatis-plus+springboot实现分页查询的实例
来源:jb51  时间:2021/8/5 11:21:37  对本文有异议

今天蠢了一上午才弄出这玩意,话不多说上代码!

1、建一个配置类

  1. package com.sie.demo.config;
  2. import com.baomidou.mybatisplus.annotation.DbType;
  3. import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
  4. import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
  5. import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
  6. import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
  7. import org.springframework.context.annotation.Bean;
  8. import org.springframework.context.annotation.Configuration;
  9. /**
  10. * @author liaozhifeng
  11. * @date 2021/7/31 11:14
  12. * @Version 1.0
  13. */
  14. @Configuration
  15. @ConditionalOnClass(value = {PaginationInterceptor.class})
  16. public class MybatisPlusConfig {
  17. // 最新版
  18. @Bean
  19. public MybatisPlusInterceptor mybatisPlusInterceptor() {
  20. MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
  21. // 数据库的配置DbType.ORACLE 根据自己的数据库选择
  22. interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.ORACLE));
  23. return interceptor;
  24. }
  25. }

2、service层的代码

  1. package com.sie.demo.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  6. import com.sie.demo.entity.Users;
  7. import com.sie.demo.entity.vo.PageUserVo;
  8. import com.sie.demo.mapper.UserMapper;
  9. import com.sie.demo.service.UserService;
  10. import lombok.extern.slf4j.Slf4j;
  11. import org.springframework.stereotype.Service;
  12. import org.springframework.util.DigestUtils;
  13. import javax.annotation.Resource;
  14. import javax.servlet.http.HttpSession;
  15. import java.util.List;
  16. /**
  17. * @author liaozhifeng
  18. * @date 2021/7/27 14:03
  19. * @Version 1.0
  20. */
  21. @Service
  22. @Slf4j
  23. public class UserServiceImpl extends ServiceImpl<UserMapper, Users> implements UserService {
  24. @Resource
  25. UserMapper userMapper;
  26. /**
  27. * 分页查询用户
  28. * @param currentPage
  29. * @param pageSize
  30. * @return
  31. */
  32. @Override
  33. public PageUserVo selectAll(long currentPage, long pageSize) {
  34. IPage<Users> userPage = new Page<>(currentPage, pageSize);//参数一是当前页,参数二是每页个数
  35. IPage<Users> iPage = userMapper.selectPage(userPage, null);
  36. List<Users> list = iPage.getRecords();
  37. Long total = iPage.getTotal();
  38. PageUserVo pageUserVo = new PageUserVo(list, total);
  39. return pageUserVo;
  40. }
  41. }

3、controller层 RetResult是我自己定义的一个统一返回的泛型对象

  1. package com.sie.demo.controller;
  2. import com.baomidou.mybatisplus.core.conditions.Wrapper;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.baomidou.mybatisplus.core.metadata.IPage;
  5. import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper;
  6. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7. import com.sie.demo.entity.RetCode;
  8. import com.sie.demo.entity.RetResponse;
  9. import com.sie.demo.entity.RetResult;
  10. import com.sie.demo.entity.Users;
  11. import com.sie.demo.entity.vo.PageUserVo;
  12. import com.sie.demo.service.impl.UserServiceImpl;
  13. import com.sie.demo.util.TokenUtil;
  14. import lombok.extern.slf4j.Slf4j;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Controller;
  17. import org.springframework.web.bind.annotation.*;
  18. import javax.annotation.Resource;
  19. import javax.servlet.http.HttpSession;
  20. import java.util.List;
  21. @Controller
  22. @RestController
  23. @RequestMapping("user")
  24. @Slf4j
  25. public class UserController {
  26. @Autowired
  27. UserServiceImpl userService;
  28. /**
  29. *
  30. *
  31. * @param currentPage
  32. * @param pageSize
  33. * @return
  34. */
  35. @GetMapping("selectAll")
  36. public RetResult<PageUserVo> selectAll(long currentPage, long pageSize) {
  37. log.info(currentPage+pageSize+"=========================");
  38. PageUserVo pageUserVo = userService.selectAll(currentPage,pageSize);
  39. return RetResponse.makeOKRsp(pageUserVo);
  40. }
  41. }

到此这篇关于oracle+mybatis-plus+springboot实现分页查询的实例的文章就介绍到这了,更多相关 mybatis-plus springboot分页查询内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号