浅谈mybatis分页开发,你知道有哪些实现方式呢?(代码片段)

缘分锝天空 缘分锝天空     2022-12-11     636

关键词:

分页查询:就是将数据库查询的结果在有限的界面上分好多页显示,分页是许多网站的常用功能,也是最基本的功能。

为什么要分页?减少数据的处理量

 下面用例子演示说明实现分页查询的两种方式:

方式一:

使用limit分页,即在SQL语句中使用limit限定词,如:

1.接口:

    //    分页查询
    List<stu> selectstulimit(Map<String, Integer> map);

2.Mapper.xml

    <select id="selectstulimit" parameterType="map" resultType="stu">
        select ID,name from stu limit #start,#end  ;
    </select>

3.测试

所用的数据库表:

    @Test
    public void  selectstulimit() 
        SqlSession sqlSession = mybatisUtils.getSqlSession();
        stuDao stuDao = sqlSession.getMapper(com.ys.Dao.stuDao.class);
        Map<String, Integer> map = new HashMap<>();
        map.put("start", 1);
        map.put("end", 2);
        List<stu> stuList = stuDao.selectstulimit(map);
        for (stu stu : stuList) 
            logger.info(stu);
        
        sqlSession.close();
    

 测试结果如下:

 

 方式二:

使用RowBounds分页,Mybatis提供可以进行逻辑分类的RowBounds类,通过传递RowBounds对象,来进行数据库的分页操作,任何select语句都可以使用它。如:

1.接口:

//使用RowBounds分页查询
List<stu> selectstulimit2();

 2.Mapper.xml

    <select id="selectstulimit2" resultType="stu">
        select ID,name from stu
    </select>

3.测试

所查询数据库表同上

    @Test
    public void selectstulimit2() 
        SqlSession sqlSession = mybatisUtils.getSqlSession();
        RowBounds rowBounds = new RowBounds(0, 3);
        List<stu> stuList = sqlSession.selectList("com.ys.Dao.stuDao.selectstulimit2",null,rowBounds);
        for (stu stu : stuList) 
            logger.info(stu);
        
        sqlSession.close();
    

查询结果如下:


 当然还有其他实现方式,比如使用分页插件:PageHelpr,具体用法点击查看——>传送门

 。。。。。。。


现在0.06,睡觉去了。。。

 

 

 

浅谈mysql备份

mysql备份就哪些场景需要备份呢?这样的备份有什么作用呢?切记备份的目的是为了恢复。场景一:开发同学要求dbaupdate或者delete一些数据,此时你觉得有必要备份改变前或者删除前的数据么。如果有必要你会怎么做呢?处理方... 查看详情

浅谈mybatis-plus学习之插件扩展

一、Mybatis插件机制mybatis通过插件(Interceptor)对相关目标对象(四大对象)进行动态代理,完成相关数据的变更,从而提供更多功能。在这里不介绍其内部实现,仅仅介绍MP所提供的相关插件。二、MP插件介绍2.1、分页插件好像M... 查看详情

如何使用mybatis实现分页

参考技术A1、亲Mybatis是自己写Sql语句啊,和Hibernate不一样。2、如何知道上面的,你还要知道MySql有一个分页语句叫limit,如:limit(1,10);前面一个参数是起始未知,后面一个是查询多少个。3、Oracle的分页方法是嵌套子查询,需要用... 查看详情

作为一名后端开发者,你需要学习和掌握的技术栈都有哪些呢?

开发一个普通管理系统,会用到SprinBoot+MyBatis+Spring+Mysql+Redis+RabbitMq+Nginx+Vue+Shiro+html+等等,这些技术合起来就可以称为技术栈。那么作为一名后端开发者,你需要学习和掌握的技术栈都有... 查看详情

你知道几种前端动画的实现方式?(代码片段)

随着互联网的持续发展,H5页面作为与用户直接交互的表现层越来越复杂,呈现的形式也越来越丰富,从而也要求H5页面具有更多的花样性及动画效果。那前端实现动画效果的方式有哪些呢,大致有如下几种:一、GIF图片GIF图就... 查看详情

mybatis中怎样实现oracle分页语句

参考技术A1、亲Mybatis是自己写Sql语句啊,和Hibernate不一样。2、如何知道上面的,你还要知道MySql有一个分页语句叫limit,如:limit(1,10);前面一个参数是起始未知,后面一个是查询多少个。3、Oracle的分页方法是嵌套子查询,需要用... 查看详情

2020最新java面试题(三十二)

...何实现,有哪些事物处理机制动态***有哪些、区别是什么mybatis如何根据xml文件来实现定义相应的接口当调用接口的方法时,如何根据方法名来查找xml中的sql语句的说一说你知道的java泛型object都有哪些函数,知道clone函数和getClass... 查看详情

2020最新java面试题(三十二)

...何实现,有哪些事物处理机制动态***有哪些、区别是什么mybatis如何根据xml文件来实现定义相应的接口当调用接口的方法时,如何根据方法名来查找xml中的sql语句的说一说你知道的java泛型object都有哪些函数,知道clone函数和getClass... 查看详情

搜索运营有哪些玩法,你知道吗?

...有哪些玩法?阿里云开放搜索作为一站式可视化搜索开发平台,产品/运营同学可以在控制台参与哪些优化动作呢?阅读时长:5分钟适读人群:搜索运营岗位、产品岗位、及对搜索技 查看详情

mybatis怎么实现时间段查询

参考技术A1、亲Mybatis是自己写Sql语句啊,和Hibernate不一样。2、如何知道上面的,你还要知道MySql有一个分页语句叫limit,如:limit(1,10);前面一个参数是起始未知,后面一个是查询多少个。3、Oracle的分页方法是嵌套子查询,需要用... 查看详情

想成为一名架构师,应该掌握哪些技术呢?

...!2.常用的数据结构,对于常见的数据结构,算法,应该知道一些!3.WEB服务,对于分布式,大一点的项目都会遇到,你可以用WS,WCF,Remoting去实现它,它们的原理是你应该知道的,因为你是一名架构师,兄弟们都指着你呢,呵... 查看详情

常见的linux系统有哪些?你知道吗?

Linux操作系统是目前市场上非常受欢迎的一种,那么常见的Linux系统都有哪些呢?为大家详细的介绍一下吧。  其实我们市场说的Linux主要分为两种,一种是Linux系统内核,一种就是Linux发行系统,两者之间有什么区别呢?其实Linux... 查看详情

常见的linux系统有哪些?你知道吗?

Linux操作系统是目前市场上非常受欢迎的一种,那么常见的Linux系统都有哪些呢?为大家详细的介绍一下吧。  其实我们市场说的Linux主要分为两种,一种是Linux系统内核,一种就是Linux发行系统,两者之间有什么区别呢?其实Linux... 查看详情

java语言有哪些优势?浅谈java三大框架

  对于初学者来说,这三大框架Struts+Hibernate+Spring被赋予了太多神秘的色彩,似乎它们是重中之重的知识!但是对于拥有多年java开发经验的专业技术人员来说,对于那些Java牛人来说,却对这三大框架不太感冒!那么这三大框架到... 查看详情

mybatis分页插件实现

日常开发中,MyBatis已经成为数据持久层实现的重要角色,以下就是一个使用MyBatis开发的一个分页插件的实现。关于Mybatis的插件概念可以查看MyBatis官网查看官网教程可以得知,MyBatis允许客户对以下类的方法进行拦截。Executor(upda... 查看详情

浅谈:java有哪些受欢迎的使用场景?

对于常年占据TIOBE榜前三的Java来说,除了广受欢迎,也会常听到一些唱衰的声音,但不管如何,Java依旧是如今最受开发人员喜爱的编程语言。拥有20多年历史的Java未来将如何发展呢?哪些Java使用场景是最受欢... 查看详情

深入理解mybatis插件开发

背景关于Mybatis插件,大部分人都知道,也都使用过,但很多时候,我们仅仅是停留在表面上,知道Mybatis插件可以在DAO层进行拦截,如打印执行的SQL语句日志,做一些权限控制,分页等功能;但对其内部实现机制,涉及的软件设... 查看详情

entityframeworkcore1.1有哪些新特性呢?我们需要知道

前言在项目中用到EntityFrameworkCore都是现学现用,及时发现问题及时测试,私下利用休闲时间也会去学习其他未曾遇到过或者用过的特性,本节我们来讲讲在EntityFrameworkCore1.1中出现了哪些新特性供我们使用。EntityFrameworkCore1.1新特... 查看详情