Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >mybatis自定义排序_oracle排序分页查询

mybatis自定义排序_oracle排序分页查询

作者头像
全栈程序员站长
发布于 2022-11-08 11:09:04
发布于 2022-11-08 11:09:04
1.1K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   import tk.mybatis.mapper.entity.Example;
   import com.github.pagehelper.PageHelper;

...

    @Override
    public List<Repayxxx> listRepaymentPlan(Integer start) {

    
        Example example = new Example(Repayxxx.class);
        // 排序
        example.orderBy("id");
        // 条件查询
        example.createCriteria()
                .andNotEqualTo("repayxxx", 3)
                .andLessThanOrEqualTo("xxxRepayDate", new Date());
        // 分页
        PageHelper.startPage(start, 20); // 每次查询20条

        return repaymentPlanMapper.selectByExample(example);
    }

关于排序还有这些写法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 注意:排序使用的是表中的列名,不是对象属性名。
example.setOrderByClause("time DESC");

example.setOrderByClause ("product_code desc , product_name desc");

// 注意:排序使用的是对象属性。
example.orderBy('id').asc().orderBy('name').desc();

2. PageHelper 使用详解见文章:分页插件pageHelpler的使用(ssm框架中)服务器端分页

3. 更多关于 Example 的使用说明见文章:

java 查询功能实现的八种方式

MyBatis : Mapper 接口以及 Example 使用实例、详解

4. 当只是查询数据,不需要返回总条数时可选择此方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PageHelper.startPage(第几页, 20,false); // 每次查询20条

当数据量极大时,可以快速查询,忽略总条数的查询,减少查询时间。

以下是该方法原码实现:

————————————————-

2019.5.13 后记 :

1)分页的写法 下图中黄框中的写法运行 比红框中 快,不知道是不是插件本身也会有费时:

2)再补充一种分页方式,mybatis 自带的 RowBounds:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 public List<RepayPlan> listRepayPlan(int start) {
        
        Example example = new Example(RepayPlan.class);
        example.orderBy("id "); // 按id排序
        example.createCriteria()
                .andNotEqualTo("repayxxx", 3)
                .andLessThanOrEqualTo("xxxRepayDate", new Date());
        RowBounds rowBounds = new RowBounds(start, 20); // 每次查询20条
        return epaymentPlanMapper.selectByExampleAndRowBounds(example,rowBounds);
    }

推荐用 RowBounds :mybatis 自带的,且速度快 。个人运行,后 2 种分页明显比 PageHelper 快。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/190850.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月22日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
用了这么多年分页PageHelper,才发现自己一直用错了!
在实际项目运用中,PageHelper的使用非常便利快捷,仅通过PageInfo + PageHelper两个类,就足以完成分页功能,然而往往这种最简单的集成使用方式,却在很多实际应用场景中,没有得到充分的开发利用.
业余草
2020/10/29
10.1K0
MyBatis分页插件PageHelper的使用
从图中可以看出,mybatis中首先要在配置文件中配置一些东西,然后根据这些配置去创建一个会话工厂,再根据会话工厂创建会话,会话发出操作数据库的sql语句,然后通过执行器操作数据,再使用mappedStatement对数据进行封装,这就是整个mybatis框架的执行情况。那么mybatis的插件作用在哪一环节呢?它主要作用在Executor执行器与mappedeStatement之间,也就是说mybatis可以在插件中获得要执行的sql语句,在sql语句中添加limit语句,然后再去对sql进行封装,从
似水的流年
2018/06/13
1.8K0
SpringBoot2.0 基础案例(10):整合Mybatis框架,集成分页助手插件
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
知了一笑
2019/07/19
3610
Mybatis分页插件PageHelper的配置和使用方法
前言 在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页。 前端分页 一次性请求数据表格中的所有记录(ajax),然后在前端缓存并且计算count和分页逻辑,一般前端组件(例如dataTable)会提供分页动作。 特点是:简单,很适合小规模的web平台;当数据量大的时候会产生性能问题,在查询和网络传输的时间会很长。 后端分页 在ajax请求中指定页码(pageNum)和每页的大小(pageSize),后端查询出当页的数据返回,前端只负责
用户1225216
2018/03/05
5.1K0
mybatis的两种分页方式:RowBounds和PageHelper「建议收藏」
RowBounds:在mapper.java中的方法中传入RowBounds对象。
全栈程序员站长
2022/09/29
8600
Mybatis 使用通用 mapper
  通用 Mapper 都可以极大的方便开发人员。可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方法。极其方便的使用 MyBatis 单表的增删改查。支持单表操作,不支持通用的多表联合查询。
Demo_Null
2020/09/28
1.8K0
Mybatis 使用通用 mapper
mybatis 中 Example 的使用 :条件查询、排序、分页
版权声明:这可是本菇凉辛辛苦苦原创的,转载请一定带上我家地址,不要忘记了哈 . https://blog.csdn.net/u011314442/article/details/90140532
微风-- 轻许--
2019/05/25
29.7K2
面试官:如果让你写一个MyBatis分页插件,你准备怎么实现?
PageHelper是一款好用的开源免费的Mybatis第三方物理分页插件,其实我并不想加上好用两个字,但是为了表扬插件作者开源免费的崇高精神,我毫不犹豫的加上了好用一词作为赞美。
用户5224393
2019/11/08
1.4K0
面试官:如果让你写一个MyBatis分页插件,你准备怎么实现?
springboot整合mybatis分页插件PageHelper实战
https://www.cnblogs.com/xifengxiaoma/p/11027551.html
全栈程序员站长
2022/11/03
1.5K0
springboot集成mybatisplus分页_mybatis分页查询原理
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/194202.html原文链接:https://javaforall.cn
全栈程序员站长
2022/10/02
8260
MyBatis 的分页方式,你都会吗
分页是我们在开发中绕不过去的一个坎!当你的数据量大了的时候,一次性将所有数据查出来不现实,所以我们一般都是分页查询的,减轻服务端的压力,提升了速度和效率!也减轻了前端渲染的压力!
Java技术精选
2021/09/15
1.5K0
Mybatis分页插件-PageHelper的使用
https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/ http://repo1.maven.org/maven2/com/github/pagehelper/pagehelper/ 由于使用了sql解析工具,你还需要下载jsqlparser.jar
全栈程序员站长
2022/08/31
8440
Mybatis分页插件-PageHelper的使用
只知道用是不行的!浅析pagehelper分页原理
之前项目一直使用的是普元框架,最近公司项目搭建了新框架,主要是由公司的大佬搭建的,以springboot为基础。为了多学习点东西,我也模仿他搭了一套自己的框架,但是在完成分页功能的时候,确遇到了问题。
Java编程指南
2020/06/24
1.4K0
SpringBoot + mybatis 分页查询
com.github.pagehelper.PageHelper是一款好用的开源免费的Mybatis第三方分页插件。使用的时候,只要简单配置,就可以在查询语句之后得到所需的分页信息。
全栈程序员站长
2022/08/22
1.4K0
SpringBoot + mybatis 分页查询
TkMyBatis复杂条件查询---Example
tk.mybatis.mapper.entity.Example 是 TkMyBatis提供的一个用于构建查询条件的工具类。它可以让用户以更简洁和灵活的方式构建数据库查询条件,避免手动编写复杂的 SQL 语句。Example 类是基于 MyBatis 通用 Mapper 和通用分页插件的一部分,旨在简化数据库操作。使用 Example 类进行复杂条件查询非常方便,可以根据实际需求构建各种复杂的查询条件。
用户4396583
2024/07/16
7600
浅谈使用PageHelper-Mybatis通用分页插件
https://github.com/pagehelper/Mybatis-PageHelperMybatis 框架的分页插件 PageHelper,目前支持 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL 等多种数据库分页。插件目前支持以下数据库的物理分页 PageAutoDialect:static { //注册别名 registerDialectAlias("hsqldb",HsqldbDialect.class);
QGS
2023/03/03
1.5K0
mybatis Generator生成代码及使用方式
为什么要有mybatis mybatis 是一个 Java 的 ORM 框架,ORM 的出现就是为了简化开发。最初的开发方式是业务逻辑和数据库查询逻辑是分开的,或者在程序中编写 sql 语句,或者调用
古时的风筝
2018/01/08
1.1K0
mybatis Generator生成代码及使用方式
大型项目技术栈第二讲 ES6(ECMAScript 6.0)的使用
编程语言JavaScript是ECMAScript的实现和扩展 。ECMAScript是由ECMA(一个类似W3C的标准组织)参与进行标准化的语法规范。ECMAScript定义了:
易兮科技
2020/09/26
8700
MyBatis系列之分页插件及问题
无论是C端产品页面,还是后台系统页面,不可能一次性将全部数据加载出来。后台系统一般都是PC端登录,用Table组件(如Ant Design Table)渲染展示数据,可点击列表的下一页(或指定某一页)查看数据。C端产品如App,在下滑时可查看更多数据,看起来像是一次性加载数据,实际上也是分批请求后台系统获取数据。而这,就是分页功能。
johnny666
2024/09/17
1750
Data Access 之 MyBatis(七)- MBG &amp; PageHelper
MyBatis逆向工程是指可以根据数据库表的分析逆向生成Entity实体类、Mapper接口以及Mapper XML等类和XML文件,逆向工程会用到MyBatis官方提供的代码生成器即MyBatis Generator
RiemannHypothesis
2022/08/19
3270
Data Access 之 MyBatis(七)-  MBG &amp; PageHelper
推荐阅读
相关推荐
用了这么多年分页PageHelper,才发现自己一直用错了!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档