Mybatis 分页查询

提示:本次基于springboot2.4.1,SQL limit实现的


文章目录

  • Mybatis 分页查询
  • 前言
    • 例如:使用sqL LIMIT 实现条件查询
  • 一、建立实体类(使用了lombok)
  • 二、Controller层
  • 三、service层及serviceImpl层
  • 四、 mapper 及mapper.xml
  • 五、测试(swagger 2测试)测试成功
  • 总结

前言

例如:使用sqL LIMIT 实现条件查询

提示:以下是本篇文章正文内容,下面案例可供参考

一、建立实体类(使用了lombok)

示例:MajorNumber.java //自己可以根据字段建立数据表

@Data
public class MajorNumber implements Serializable {@ApiModelProperty(value = "id")private Integer id;private Integer aiteMajorSoftware;private Integer aiteMajorCsot;private Integer aiteMajorIt;private Integer aiteMajorAi;private Integer sort;@JsonFormat(pattern = "yyyy-MM-dd")private Date aiteCreated;@JsonFormat(pattern = "yyyy-MM-dd")private Date aiteModified;@TableLogic  //逻辑删除private Integer isDeleted;}

二、Controller层

代码如下(示例):Result 是统一结果返回类 @Api 用的是swagger2;
请求是post

@Api(tags = "工作室数据统计接口")
@CrossOrigin
@RestController
@RequestMapping("/MemberNumberController")
public class MemberNumberController {@Autowiredprivate MajorNumberService majorNumberService;//查询分页@ApiOperation("查询分页")@PostMapping("findPage/{currPage}/{pageSize}")public Result findPage (@PathVariable int currPage,@PathVariable int pageSize){List<MajorNumber> majorNumbers = majorNumberService.queryMajorBySql(currPage,pageSize);return Result.ok(majorNumbers);}}

三、service层及serviceImpl层

代码如下(示例):

/*** Created with IntelliJ IDEA.** @Author: zhangliang* @Date: 2022/11/08/11:54* @Description:  专业数据*/
@Transactional
public interface MajorNumberService extends IService<MajorNumber> {List<MajorNumber> queryMajorBySql(int currPage, int pageSize);
}
@Service
public class MajorNumberServiceImpl extends ServiceImpl<MajorNumberMapper,MajorNumber> implements MajorNumberService {@Autowiredprivate MajorNumberMapper majorNumberMapper;@Overridepublic List<MajorNumber> queryMajorBySql(int currPage, int pageSize) {Map<String, Object> data = new HashMap<>();data.put("currIndex", (currPage-1)*pageSize);data.put("pageSize", pageSize);return majorNumberMapper.queryMajorBySql(data);}
}

四、 mapper 及mapper.xml

public interface MajorNumberMapper extends BaseMapper<MajorNumber>{List<MajorNumber> queryMajorBySql(Map<String, Object> data);}
<?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="space.aite.aitestudio_zll.mapper.MajorNumberMapper"><resultMap id="MajorNumber" type="space.aite.aitestudio_zll.entity.MajorNumber"><id property="id" column="id"/><!-- <result property="实体类属性" column="数据表字段名"/> --><result property="id" column="id"/><result property="aiteMajorSoftware" column="aiteMajorSoftware"/><result property="aiteMajorCsot" column="aiteMajorCsot"/><result property="aiteMajorIt" column="aiteMajorIt"/><result property="aiteMajorAi" column="aiteMajorAi"/><result property="sort" column="sort"/><result property="aiteCreated" column="aiteCreated"/><result property="aiteModified" column="aiteModified"/><result property="isDeleted" column="isDeleted"/></resultMap><select id="queryMajorBySql" resultType="space.aite.aitestudio_zll.entity.MajorNumber" resultMap="MajorNumber">select *
#             id,aiteMajorSoftware,aiteMajorCsot,aiteMajorItfrom aite_studio.aite_MajorNumber limit #{currIndex} , #{pageSize};</select>
</mapper>

五、测试(swagger 2测试)测试成功


总结

用时1h (现写加上写博客),好久没这样写了,这是在mybatis-plus 条件下实现的sql 查询分页,自己也对spring 加深了理解,分享给其他同学一起学习。

Mybatis 分页查询(实战版)相关推荐

  1. MYBATIS分页查询代码优化

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

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

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

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

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

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

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

  5. Spring Boot实现MyBatis分页查询

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

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

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

  7. mybatis分页查询插件

    1.引入jar包 <dependency><groupId>com.github.pagehelper</groupId><artifactId>pag ...

  8. Mysql+Mybatis分页查询——数据库系列学习笔记

    一.首先做一个查询所有并显示 dao public interface ProductDAO {public List<Product> list(); } mapper <mapp ...

  9. springboot之mybatis分页查询

    首先写一个基础的分类bean插件,由下面两个类组成 package com.my.utils;import com.fasterxml.jackson.annotation.JsonFormat; i ...

最新文章

  1. 5.1 HTML5表单的创建
  2. android log system
  3. Hadoop |集群的搭建
  4. 【Heritrix基础教程之1】在Eclipse中配置Heritrix
  5. 推荐系统: 数据、问题与算法
  6. MT4MT5跟单EA系统跨平台
  7. 模拟CMOS集成电路放大器总结(1)
  8. 安卓bochs模拟linux_bochs linux镜像下载|bochs模拟器linux镜像下载 v1.0完整版_星星软件园...
  9. html embed自动播放,embed嵌入多个优酷视频并自动播放
  10. android定位4g不准,定位不准/失败的处理方法
  11. java.lang.UnsupportedOperationException\r\n\tat java.sql.Date.toInstant(Date.java:304)
  12. 基于Spark的公安大数据实时运维技术实践
  13. the-craft-of-selfteaching之《自学是门手艺》开源项目书的学习笔记一篇
  14. Float浮动与清除浮动
  15. 2006(首届)Web2.0十大创新品牌
  16. 2022最新u盘升级重装win10方法
  17. 什么叫死区时间_死区时间
  18. re的剩余模块和subprocess模块
  19. 解决mysql 服务无法启动问题:Can't find messagefile 'D:\ ools\mysql-5.6.25-winx64\share\errmsg.sys'...
  20. 【无人驾驶 | 国内篇】主要玩家介绍

热门文章

  1. 基于html5的矢量图绘制方法研究,HTML5程序设计-绘制可伸缩矢量图形SVG.pdf
  2. css样式高居中,CSS居中的几种方式
  3. google翻译 中文文本大量翻译成英文
  4. ThinkBook15电脑开机后马上蓝屏不能使用怎么办?
  5. 用计算机做路由器,电脑当无线路由器怎么用 电脑当无线路由器详细教程【图文】...
  6. smb android 客户端,谷歌放出安卓版Samba客户端 但仅支持SMBv1
  7. matlab将多张tif文件合成为一张tif
  8. activiti绘制流程图,线上显示文字,审批过的节点添加审批人的名字
  9. 戴尔服务器的型号1950,DELL PowerEdge 1950
  10. C++ P0002 旅行计划