首先写一个基础的分类bean插件,由下面两个类组成

package com.my.utils;import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.StringUtils;
import org.springframework.format.annotation.DateTimeFormat;import java.util.Date;/*** * @author luozejun**/
public class BaseBean {private Integer page ;private Integer rows ;private String sort;private String order;/*** 分页导航*/private Pager pager = new Pager();public Pager getPager() {if(page!=null && rows!=null){pager.setPageId(page);pager.setPageSize(rows);String orderField="";if(StringUtils.isNotBlank(sort)){orderField = sort;}if(StringUtils.isNotBlank(orderField) && StringUtils.isNotBlank(order)){orderField +=" "+ order;}pager.setOrderField(orderField);return pager;}else{return pager;}}public void setPager(Pager pager) {this.pager = pager;}public Integer getPage() {return page;}public void setPage(Integer page) {this.page = page;}public Integer getRows() {return rows;}public void setRows(Integer rows) {this.rows = rows;}public String getSort() {return sort;}public void setSort(String sort) {this.sort = sort;}public String getOrder() {return order;}public void setOrder(String order) {this.order = order;}}
package com.my.utils;/*** <p>* Title: WASU Platform* </p>* <p>* Description: 分页技术的实现。* </p>* <p>* Copyright: 2006-2008* </p>* <p>* Company:* </p>** @author* @version 2.0*/
// oracle,sqlserver,mysql分页技术
public class Pager {//pageprivate Integer pageId ; // 当前页//rowprivate Integer pageSize ; // 页大小private Integer pageOffset = 0;// 当前页起始记录private String orderField;private Integer pageEnd;private boolean orderDirection = true;public Integer getPageEnd() {return pageEnd;}public void setPageEnd(Integer pageEnd) {this.pageEnd = pageEnd;}protected void doPage() {if(pageSize ==null || pageId==null){ return ;}this.pageOffset = (this.pageId - 1) * this.pageSize;}public String getOrderCondition() {String condition = "";if (this.orderField != null && this.orderField.length() != 0) {condition = " order by " + orderField+ (orderDirection ? " " : " desc ");}return condition;}public String getMysqlQueryCondition() {if(pageSize ==null || pageId==null) {return null;}if(pageOffset == null){doPage();}this.pageEnd = pageOffset + pageSize;String condition = "";condition = " limit " + pageOffset + "," + pageSize;return condition;}public String getMysqlQueryStudip() {String condition = " limit " + pageOffset + "," + pageSize;return condition;}public void setOrderDirection(boolean orderDirection) {this.orderDirection = orderDirection;}public boolean isOrderDirection() {return orderDirection;}public void setOrderField(String orderField) {this.orderField = orderField;}public String getOrderField() {return orderField;}public void setPageId(Integer pageId) {this.pageId = pageId;if(pageSize!=null){doPage();this.pageEnd = pageOffset + pageSize;}}public Integer getPageId() {return pageId;}public void setPageOffset(Integer pageOffset) {this.pageOffset = pageOffset;}public Integer getPageOffset() {return pageOffset;}public void setPageSize(Integer pageSize) {this.pageSize = pageSize;if(pageId!=null){doPage();this.pageEnd = pageOffset + pageSize;}}public Integer getPageSize() {return pageSize;}}

再写一个应答类

package com.my.utils;public class ResultEndBean {private Object data;private Integer codeId;private String msg;public ResultEndBean(Object data) {this();setData(data);}public ResultEndBean() {codeId = 0;msg = "success";}public ResultEndBean(boolean flag) {codeId = flag?0:1;msg = flag?"success":"error";}public ResultEndBean(boolean flag, String msg) {codeId = flag?0:1;this.msg = msg;}public ResultEndBean(Integer codeId, String msg, Object data) {this.codeId = codeId;this.msg = msg;this.data = data;}public ResultEndBean(Integer codeId, String msg) {this.codeId = codeId;this.msg = msg;}public ResultEndBean(Integer codeId) {this.codeId = codeId;}public Object getData() {return data;}public void setData(Object data) {this.data = data;}public Integer getCodeId() {return codeId;}public void setCodeId(Integer codeId) {this.codeId = codeId;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}}

处理方式如下:

@RestController
public class UsercopyControl {@AutowiredUsercopyMapper  usercopyMapper;@GetMapping("/page")ResultEndBean GetPage(BaseBean baseBean){Map<String,Object> map = new HashMap<>(4);List<Usercopy> usercopies = usercopyMapper.GetTotal(baseBean);map.put("data", usercopies);return new ResultEndBean(map);}
}

XML编写如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.my.mapper.UsercopyMapper"><select id="GetTotal" parameterType="com.my.utils.BaseBean" resultType = "Usercopy" >SELECT  id,myname,age FROM  user_copy  where 1 = 1<if test="pager.mysqlQueryCondition != null and pager.mysqlQueryCondition != ''" >${pager.mysqlQueryCondition}</if></select>
</mapper>

最后,使用postman测试

********************************遇到一个大坑,name字段一直返回为null,后来发现居然加了一个string 的引用

import com.sun.org.apache.xpath.internal.operations.String;

去掉这个,即OK了

springboot之mybatis分页查询相关推荐

  1. SpringBoot使用GeoHash分页查询附近的人:RedisTemplate+GeoHash+Lua

    SpringBoot使用GeoHash分页查询附近的人:RedisTemplate+GeoHash+Lua 架构设计 开发环境 SpringBoot Redis(version>=3.2) Re ...

  2. MYBATIS分页查询代码优化

    项目场景: mybatis分页查询的时候,需要联动其他系统,把每条数据的用户信息查询出来,用户量很多的时候,出现一次查询需要十几秒的情况. 问题描述 查询出的数据,其实除了当前页的数据,其他的实际上并 ...

  3. Mybatis 分页查询(实战版)

    Mybatis 分页查询 提示:本次基于springboot2.4.1,SQL limit实现的 文章目录 Mybatis 分页查询 前言 例如:使用sqL LIMIT 实现条件查询 一.建立实体类( ...

  4. 【问题解决】MyBatis分页查询SQL Server2008时出现'@P0' 附近有语法错误

    MyBatis分页查询SQL Server2008时出现'@P0' 附近有语法错误" Error querying database. Cause: com.microsoft.sqlser ...

  5. Spring Boot实现MyBatis分页查询

    综合概述 想必大家都有过这样的体验,在使用Mybatis时,最头痛的就是写分页了,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真的不想花双倍 ...

  6. springboot整合mybatis分页插件

    1.springboot版本为2.0.1,数据库为mysql,引入pagehelper的pom依赖 <!--mybatis分页插件--> <dependency><gro ...

  7. mybatis 分页查询_MyBatis之分页查询:MyBatis PageHelper

    MyBatis,作为目前流行的ORM框架,大大方便了日常开发.而对于分页查询,虽然可以通过SQL的limit语句实现,但是比较繁琐.而MyBatis PageHelper的出现,则解决了这一痛点.这里 ...

  8. java mybatis分页查询语句_mybatis分页查询的实现(一)

    一.总结了mybatis中五种不同实现分页查询的方法 UserMapper.java接口文件 public interface UserMapper { //分页查询 public List sele ...

  9. 【mybatis】在mybatis分页查询时,主表对关联表 一对多 分页查询怎么实现

    现在有这样一个需求: 1.积分商品分页查询 2.一个积分商品会有多张商品图片在商品图片表  1:n的关系 这样在积分商品分页查询的时候,想要顺便把每个积分商品对应的商品图片信息也带出来 实现如下: 1 ...

最新文章

  1. leetcode--最长连续递增序列--python
  2. pthread_cond_wait()加一个while为什么的解释
  3. 混沌工程详细介绍——Netflix持续交付实践探寻
  4. poj 1018 Communication System
  5. Oracle中输出一个变量
  6. android 继承listview,Android listView 继承ListActivity的用法
  7. 设置XMLHttpRequest“ withCredentials”属性问题,axios请求不成功
  8. Android 系统(95)---Android build.prop参数详解
  9. java中的缓存详解,一篇就够了
  10. 带SN切换流程_贴片电阻生产工艺流程简介
  11. Nebula3 SDK (Apr 2009)更新内容
  12. c51编译器+linux,C51 开源编译器SDCC学习笔记-安装
  13. B站视频直接下载成mp4格式
  14. win7系统mscomctl.ocx不能注册
  15. 开源项目之饭否 for Android
  16. 上海某马培训软件测试工程师第01期就业班课程
  17. open write read 函数
  18. 支付宝接口调试完成后,接入本地项目中
  19. Javascript判断是否iphone全面屏手机
  20. Jquery一个简单的注册验证

热门文章

  1. python list append 相关知识点
  2. 快速上手,定制第一个WES8镜像
  3. 如何提取网页中所有链接(C++) 转载
  4. Vue CLI 3.0 正式发布,Vue.js 开发标准化工具
  5. zb_system login.php,zblog后台登录地址怎么修改?
  6. vba 怎么取得一个book中最右边的sheet名_商业观察|探底新零售中的坪效革命
  7. 解决github网站打开慢的问题
  8. vue项目中使用axios发送请求
  9. python程序memory error_Python memory error的问题
  10. python3.7降级3.6_电脑已有Python 3.7 怎么降到Python3.6