Mybatis的分页条件查询sql

【什么是分页查询,项目实战中如何去用】MyBatis-Plus的用插件的简单分页查询的和多表自定义分页查询(mybatis的条件查询-动态sql) 文章目录前言一、从最基础的方面来说,什么是分页查询?二、在Mybatis-Plus里简单实现最基础的分页查询1.简单的无查询条件的分页查询,使用mybatis-plus自带的分页插件2.如果我们的分页查询是有查询条件的三、多表联查情况下的分页查询(mybatis的条件查询-动态sql)总结 前言 本文仅作为自己工作学习过程中的记录. 如有错误和纰漏欢迎指出.        我先说说为什么会遇到这样的问题,需要学习MyBatis-Plus分页. & 阅读详情

Mybatis 分页条件查询记录

  • ArticleMapper.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.ls.mapper.ArticleMapper">

    <select id="findByPage" parameterType="java.util.HashMap" resultType="com.ls.entity.Article">
        SELECT
            DATE_FORMAT(article_date,'%Y-%m-%d') as articleDate,article_id as articleId,
            del_flag as delFlag,item_id as itemId,user_id as userId,media_id as mediaId,
            emotional,article_content as articleContent,title,url
        FROM
            article
        WHERE
            del_flag = #{delFlag} AND item_id = #{itemId}
            <!-- 关键词查询 -->
            <if test="keys != null">
                AND
                <foreach collection="keys" item="item" open="(" close=")" separator="or">
                    title LIKE "%"#{item}"%" OR article_content LIKE "%"#{item}"%"
                </foreach>
            </if>
            <!-- 媒体查询 -->
            <if test="medias != null">
                AND
                <foreach collection="medias" item="media" open="(" close=")" separator="or">
                    media_id = #{media}
                </foreach>
            </if>
        LIMIT #{currentPage},#{pageSize}
    </select>

</mapper>
  • ArticleMapper
public interface ArticleMapper extends BaseMapper<Article> {

    List<Article> findByPage(Map<String, Object> articleMap);

}

  • ArticleServiceImpl
@Override
    public Map<String, Object> getArticleSearch(Long itemId,String[] keys, String[] medias, Integer currentPage) {
        Map<String, Object> map = new HashMap<>();

        Map<String, Object> articleMap = new HashMap<>();
        articleMap.put("delFlag",1);
        articleMap.put("itemId",itemId);
        if(keys.length > 0){
            articleMap.put("keys",keys);
        }
        if(medias.length > 0){
            articleMap.put("medias",medias);
        }

        articleMap.put("currentPage",(currentPage-1)*Consts.PAGE_SIZE);
        articleMap.put("pageSize",Consts.PAGE_SIZE);
        List<Article> list = articleMapper.findByPage(articleMap);

        map.put("articleList",parseArticle(list));
        map.put("count",list.size());
        return map;
    }
  • 执行之后的SQL语句
SELECT DATE_FORMAT(article_date,'%Y-%m-%d') as articleDate,article_id as articleId, del_flag as delFlag,item_id as itemId,user_id as userId,media_id as mediaId, emotional,article_content as articleContent,title,url FROM article WHERE del_flag = ? AND item_id = ? AND ( title LIKE "%"?"%" OR article_content LIKE "%"?"%" or title LIKE "%"?"%" OR article_content LIKE "%"?"%" ) AND ( media_id = ? or media_id = ? ) LIMIT ?,? 
  • 控制台输出
    控制台输出

  • 数据库查询展示
    数据库查询展示

此文,我是使用map来封装参数,只记录自己的经历。。。

告别手写SQL!MyBatis-Plus的EntityWrapper条件构造器实战:从查询到分页的完整指南 本文深入探讨了MyBatis-Plus的EntityWrapper条件构造器,展示了如何通过链式调用实现高效、安全的数据库操作,告别手写SQL的繁琐。从基础查询到复杂分页,再到ActiveRecord模式的优雅实践,全面解析了MyBatis-Plus在Java持久层操作中的优势与最佳实践。 阅读详情

相关推荐

MyBatis动态SQL的另一种可能:@SelectProvider实战,处理多条件模糊查询与分页

本文深入探讨了MyBatis动态SQL的另一种实现方式——@SelectProvider注解,通过实战案例展示了如何处理多条件模糊查询与分页。文章详细介绍了如何构建安全的动态查询条件、与分页插件的深度集成以及高级技巧与最佳实践,帮助开发者提升MyBatis动态SQL的灵活性和安全性。

weixin_33738578的博客 238

MyBatis 中,如何实现分页查询?

需要注意的是,由于 MyBatis 本身并没有提供任何机制来自动生成更新语句,因此开发者需要手动编写动态 SQL 语句来实现动态更新,需要考虑到 SQL 注入等安全问题,避免恶意代码注入。需要注意的是,分页查询结果需要通过缓存或其他方式进行缓存,避免多次查询导致性能下降。上面的查询语句表示从第 6 条记录开始,查询 10 条记录,即查询结果为第 6 条记录到第 15 条记录之间的数据。通过这种方式,就可以只更新实体中的非空字段,达到动态更新的效果。分别表示从第几条记录开始查询,查询的记录数。

luoluoal的博客 1万+

pytorch中的wheel文件

whl 文件是 Python 的一个软件包分发格式,用于在 Python 中安装软件包。它是 Python Wheel 的缩写,也被称为 wheel 文件。这种文件格式旨在简化 Python 软件包的安装和分发。对于 PyTorch 而言,它提供了预编译的 .whl 文件,您可以通过 pip 安装这些文件来快速方便地安装 PyTorch。这些 .whl 文件是已经编译好的二进制分发文件,可以直接安装在您的 Python 环境中,而无需再进行编译。

bj_zhb的博客 3127

Mybatis实现分页查询

Mybatis实现分页查询

weixin_45939128的博客 2万+

一文读懂GPU通信互联技术:GPUDirect、NVLink与RDMA

GPUDirect是NVIDIA开发的一项技术,旨在实现GPU与其他设备(如网络接口卡NIC和存储设备)之间的直接通信和数据传输,而无需CPU的参与。传统上,数据在GPU和另一个设备之间传输时,必须通过CPU,这导致潜在的性能瓶颈和延迟增加。GPUDirect技术则通过绕过CPU,直接访问和传输数据,显著提高系统性能。NVLink是NVIDIA开发的一种高速、高带宽的互连技术,用于连接多个GPU之间或GPU与其他设备(如CPU、内存等)之间的通信。

异构算力老群群(在读985计算机博士生)的技术博客 7776

51单片机超声波测距数码管显示并报警(Proteus 仿真)

HC-SR04超声波 实物图 使用方法 1、给TRIG端口至少10us 的高电平信号 2、模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回 3、有信号返回,ECHO端口会输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间 计算的话这里就不考虑温度的影响直接用声速340m/s Proteus仿真 HC-SR04可以用Proteus中的SRF04代替 下面附上代码 ...

m0_46254883的博客 1万+

Mybatis--分页查询

分页查询则是在页面上将本来很多的数据分段显示,每页显示用户自定义的行数。为了能在页面上显示上述的分页效果,那么我们就得在把页面上的每一个数据封装成到某个对象共享给。:把多个需要共享的数据,封装到一个对象,往后就只需要把数据封装到该对象,再共享该对象即可。,获取页面传递的分页参数,执行查询,将结果共享到请求作用域,请求转发回到。,表示要显示某一页数据的页码,在程序中表示翻页要去往的页面,比如。:数据太分散,需要共享多个数据,不方便统一管理多个数据。增加两个方法,一个查询数据总量,一个查询当前页的数据。

m0_63600788的博客 7352

2026年迈瑞医疗嵌入式岗位面试题集(含参考答案)

文章摘要 本文总结了嵌入式开发面试中的30道题目,涵盖7大模块:嵌入式硬件与底层驱动、C/C++语言基础、操作系统与多线程编程、网络通信协议、数据结构与算法、开发工具与调试能力、综合素养与职业认知。重点解析了I²C通信协议的工作原理、速率选择及异常排查方法;USB的报文协议与四种传输类型及其适用场景;硬中断与软中断的区别及设计注意事项;字节序的概念与处理方法;以及C++中static和const关键字的核心作用。内容深入实用,适用于嵌入式开发者的技术提升与面试准备。

Open 53

mybatis数据库分页查询

csmall-order-webapi项目OrderServiceImpl实现类中进行修改。下面就转到业务逻辑层实现类,先编写一个方法使用PageHelper的功能。再去修改OrderController中方法调用的位置。业务逻辑层返回值的修改影响控制器方法的调用。OrderServiceImpl添加方法。先不用写接口,直接在业务逻辑层中写方法。保证启动Nacos\Seata。

2575

路径跟踪 | 图解纯追踪算法Pure Pursuit(附ROS C++/Python/Matlab仿真)

纯追踪算法(Pure Pursuit)参考了人类驾驶行为,其基本思想是在待跟踪路径上设置预瞄点(goal-ahead),通过简单的几何方法驱动机器人跟踪预瞄点直至抵达目标位置.本文详细推导纯追踪算法的理论原理及其变种——自适应纯追踪算法(APP)和规范化纯追踪算法(RPP),并提供ROS C++/Python/Matlab三种仿真实现加深理解

FRIGIDWINTER的博客 8412

全面解读 SAP Business Data Cloud

SAP 在 2025 年初正式推出(简称BDC),它把、以及全新的统一封装为一项完全托管的 SaaS 服务,配套交付“语义层 + 数据产品 + 智能应用”三层能力,为企业构建真正贴近业务语境的 “Business Data Fabric”。这一方案不仅解决了跨系统数据碎片化、治理难及 AI 训练数据可信度低的问题,还为现有 BW 客户、S/4HANA以及第三方工作负载提供云上现代化路径和零拷贝数据共享机制。本文将围绕技术架构、核心组件、业务场景、迁移路线及未来展望展开,以 Henkel 等真实案例佐证。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 909

Mybatis分页方式详解

Mybatis分页方式详解

深圳市多克创新科技有限公司 6666

基于PCL、Open3d、Easy3d 、VTK等常见开源库的QT开发

PCL+QT开发

阁楼 2万+

MyBatis 动态SQL查询,多条件,分页

<?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="cn.bdqn....

aoweitan2815的博客 848

Steam崩溃:ntdll.dll报错0xc0000374...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1157

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

MyBatis-Plus 编写SQL语句实现多表条件分页查询

MyBatis-Plus在单表简单的CRUD操作上十分便捷,但当涉及到复杂的多表间的联合查询,而且还要携带条件的情况下,就会显得无从下手,一般情况下我们可以在service层写大量的代码逻辑达到多表条件查询的要求,当然也可以手写sql语句,这样更加方便。而多表查询出来的结果也需要有一个对应的类与之映射,这时候我们就要根据实际情况创建一个对象接收查询出来的结果,并且也不能直接套用Mybatis自动生成的方法,而是需要自己声明方法并在xml文件中编写SQL语句实现来处理。那么必须要进行多表的查询。

a534563的博客 5606

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

mybatis分页条件查询动态sql

http://blog.youkuaiyun.com/future_it_daniel/article/details/51810489 MyBatis中实现动态的SQL语句,分页以及mybatis的常用的配置 原创 2016年07月02日 11:49:11 7223 1.动态SQL:在SQL语句中加入流程控制。比如加入if,fore

ww598260073的博客 8218

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

springboot实战(19)(条件分页查询、PageHelper、MYBATIS动态SQL、mapper映射配置文件、自定义类封装分页查询数据集)

本篇博客的学习特别重要:《条件分页查询返回列表数据》。其中使用的mapper映射配置文件书写mybatis动态sql、使用mybatis的插件PageHelper开启分页查询、@RequestParam设定参数是否必须、自定义类封装分页查询结果数据集...

岁岁岁平安的博客 2482

分页列表中能够按照名称查询,使用 mybatis 的 Example 动态构造 SQL where 条件

在接口文档中输入name(或type一般需要这两个),可以根据传入的name去匹配符合的行进行输出。45-46行:如果前端Vo中传了parentId,就 where parentId(这里的是"parentId"46行中的绿色部分) =?传入满足条件的pageinfo的model,正常来讲分页列表只有pagnum和pagesize,但是这里需要name的约束,所以要单独写到service的实现中。上图中绿色的property,代表的是model中的属性,model和数据库相连,传入了数据库的数据。

m0_71605721的博客 271

MyBatis-Plus 条件查询QueryWrapper、聚合函数的使用、Lambda条件查询、定义SQL、分页实现(PaginationInterceptor )、更新和删除

<resource>-- xml放在java目录下--><includes>--指定资源的位置(xml放在resources下,可以不用指定)--><resource>

小石潭记丶 4582

Mybatis分页条件查询Sql

Mybatis分页条件查询Sql

小高同学要努力吖 1002

mybatis-plus 自定义sql拼接 的方式进行Wrapper条件查询 实现了分页 多表查询

方法:先收集公共字段到集合中,再批量查询,然后封装起来缺点:相较于法二,代码量大,多访问了一次数据库。

CHN_NeverRegret的博客 1456

条件分页查询与前端交互(mybatis动态sql)

2401_88987098的博客 191

Mybatis Plus 自定义sql 多表 带条件 分页 查询

主要需求: 1.查询带分页的列表功能 2.使用自己写的sql实现 3.sql中会涉及到多表关联问题,查询多表字段 4.使用Mybatis Plus的分页功能和条件构造器 废话少说,直接代码! 方法1-通过对象拼接条件参数 该方法条件上没有使用Mybatis Plus的条件构造器,而是自己在sql语句中拼接的。 controller @PostMapping("/page"...

菜鸟一个 8867
上一篇: 学习笔记(1):Java爬虫从入门到精通-Xpath工具的使用
下一篇: @JsonFormat与@DateTimeFormat注解的使用
perfei焓
博客等级 码龄8年 32粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值