mybatis 中 Example 的使用 :条件查询、排序、分页(三种分页方式 : RowBounds、PageHelpler 、limit )

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 

   import tk.mybatis.mapper.entity.Example;import com.github.pagehelper.PageHelper;...@Overridepublic 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);}

关于排序还有这些写法:

// 注意:排序使用的是表中的列名,不是对象属性名。
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. 当只是查询数据,不需要返回总条数时可选择此方法:

PageHelper.startPage(第几页, 20,false); // 每次查询20条

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

以下是该方法原码实现:

 

-------------------------------------------------

2019.5.13 后记 : 

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

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

 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 快。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447773.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科目三大路考8个驾驶技巧

驾考科目三考试&#xff0c;大路考的考试内容是什么&#xff0c;有什么考试要点&#xff0c;考试时&#xff0c;有哪些细节要注意&#xff1f;下面&#xff0c;就跟着小编一起来看看吧&#xff01; 科目三大路考驾驶技巧是在实际道路上驾驶机动车进行起步前的准备、起步、通过…

FreeSql (九)删除数据

删除是一个非常危险的操作&#xff0c;FreeSql对删除支持并不强大&#xff0c;仅支持了单表有条件的删除方法。 不想过多的介绍拉长删除数据的系列文章&#xff0c;删除数据的介绍仅此一篇。 若Where条件为空的时候执行方法&#xff0c;FreeSql仅返回0或默认值&#xff0c;不执…

解决: IDEA 代码 commit 后,Local Changes 中代码依旧在,提交失败,报错:is out of date

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 代码提交后 Local Changes 中的代码未消失。查看 Event log 发现提交失败。 如下 红框中位置就是 Event log&#xff0c;或者点击…

FreeSql (十)更新数据

FreeSql支持丰富的更新数据方法&#xff0c;支持单条或批量更新&#xff0c;在特定的数据库执行还可以返回更新后的记录值。 var connstr "Data Source127.0.0.1;Port3306;User IDroot;Passwordroot;" "Initial Catalogcccddd;Charsetutf8;SslModenone;Max po…

科目三的7个小步骤

科目三路考中&#xff0c;做好几个步骤就可以顺利的通过考试了&#xff0c;以下来分享下路考中需要注意的几个点。1、上车前&#xff0c;无论你在车辆的什么位置&#xff0c;请务必从车的右侧绕过车头走到驾驶室门前&#xff0c;先观察车前道路上是否有障碍&#xff0c;再观察车…

解决:The ‘Access-Control-Allow-Origin‘ header contains multiple values‘x, *‘, but only one is allowed.

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 跨域问题报错&#xff1a; Access to XMLHttpRequest at http://xx.xx.xx.xx/getUser from origin http://ergouzi.fun has been bloc…

科目三道路考试技巧流程详解

科目三是公认最难的考试科目&#xff0c;它不像科目二练习是在驾校训练场&#xff0c;有些技术不错的学员也会卡在这个项目上&#xff0c;由于突发状况多&#xff0c;了解考试流程是必不可少的。考试流程&#xff1a;1、上车前的准备工作2、上车起步3、变更车道4、直线行驶5、学…

springbootajaxhas been blocked by CORS policy: No ‘Access-Control-Allow-Origin

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 ajaxspringboot解决跨域问题&#xff0c;以下报的错误就是html跨域的问题 Access to XMLHttpRequest at http://localhost:8080/user/l…

起步前要做哪些准备?

开车前&#xff0c;做好起步的准备工作是必不可少的&#xff0c;有的人可能还不知道开车前要做那些起步工作。一、开车起步前&#xff0c;检查工作不能忘1、检查车子轮胎是否完好&#xff0c;若发现轮胎有损毁&#xff0c;及时更换。2、检查地面是否有会造成伤害的事或物&#…

什么是响应式布局设计

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 看一个例子&#xff1a;Mashable 的首页&#xff1a; 浏览器窗口最大化时&#xff1a; 缩小浏览器窗口&#xff1a; 再缩小&#x…

科目三电子路考细节部分

科目三考试是电子监控&#xff0c;相对之前的考官监考更为严格&#xff0c;没有了考官的提醒&#xff0c;我们更要注意什么&#xff1f;其实电子路考考的就是一种意识&#xff0c;一种安全意识。这也就是为什么在考试之前教练反复强调的不是技巧&#xff0c;而是打转向灯按喇叭…

PHP 与 JSP 比较(PHP、ASP、JSP是什么)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 PHP PHP&#xff08;Hypertext Preprocessor&#xff09;是一种嵌入HTML页面中的脚本语言。它大量地借用C和Perl语言的语法&#xff0c;…

FreeSql (十四)批量更新数据

FreeSql支持丰富的更新数据方法&#xff0c;支持单条或批量更新&#xff0c;在特定的数据库执行还可以返回更新后的记录值。 var connstr "Data Source127.0.0.1;Port3306;User IDroot;Passwordroot;" "Initial Catalogcccddd;Charsetutf8;SslModenone;Max po…

FreeSql (十五)查询数据

FreeSql在查询数据下足了功能&#xff0c;链式查询语法、多表查询、表达式函数支持得非常到位。 IFreeSql fsql new FreeSql.FreeSqlBuilder().UseConnectionString(FreeSql.DataType.MySql, "Data Source127.0.0.1;Port3306;User IDroot;Passwordroot;Initial Catalogcc…

路考变更车道该注意什么?

路考变更车道该注意什么&#xff1f;路考变更车道具体操作方法&#xff1f;路考变更车道注意事项&#xff1f;变更车道技巧&#xff1f;学车啦小编来指导让你更好的来了解路考变更车道&#xff1a; 操作方法 1、观察与判断观察车辆后方、侧方和准备变更的车道上的交通流情况; 2…

Apache RocketMQ:简单消息示例

通过三种方式来发送RocketMQ消息使用: 可靠的同步发送, 可靠的异步发送和单向传输。 这个页面举例说明了这三种消息发送方式. 根据示例找出最适合你的特定用例。 可靠的同步传输 应用&#xff1a;可靠的同步传输广泛应用于重要通知消息&#xff0c;短信通知&#xff0c;短信…

FreeSql (十六)分页查询

IFreeSql fsql new FreeSql.FreeSqlBuilder().UseConnectionString(FreeSql.DataType.MySql, "Data Source127.0.0.1;Port3306;User IDroot;Passwordroot;Initial Catalogcccddd;Charsetutf8;SslModenone;Max pool size10").UseAutoSyncStructure(true) //自动同步实…

电脑考官三点技巧

路考智能考试系统&#xff0c;考生直接从电脑语音获得指令进行考试&#xff0c;系统会根据考试车的实际位置自动并进行评判&#xff0c;考官不再坐在副驾驶座。诀窍一&#xff1a;夜间道路行驶&#xff0c;不同情况打不同灯&#xff0c;一定要非常熟悉。灯光过不了关&#xff0…

git 提交 不用输入用户名、密码的方法(GIT免密提交)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 我以前设置过&#xff0c;但最近把项目换地方了&#xff0c;环境也改了些配置&#xff0c;发现不能免密 push 了。 设置方法如下&#…

FreeSql (十七)联表查询

FreeSql在查询数据下足了功能&#xff0c;链式查询语法、多表查询、表达式函数支持得非常到位。 IFreeSql fsql new FreeSql.FreeSqlBuilder().UseConnectionString(FreeSql.DataType.MySql, "Data Source127.0.0.1;Port3306;User IDroot;Passwordroot;Initial Catalogcc…