前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mybatis自定义排序_oracle排序分页查询

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

作者头像
全栈程序员站长
发布2022-11-08 19:09:04
1K0
发布2022-11-08 19:09:04
举报
文章被收录于专栏:全栈程序员必看

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

代码语言:javascript
复制
   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
复制
// 注意:排序使用的是表中的列名,不是对象属性名。
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
复制
PageHelper.startPage(第几页, 20,false); // 每次查询20条

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

以下是该方法原码实现:

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

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

2019.5.13 后记 :

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

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

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

代码语言:javascript
复制
 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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档