广告
返回顶部
首页 > 资讯 > 精选 >Java中Mybatis分页查询的传参方式有哪些
  • 773
分享到

Java中Mybatis分页查询的传参方式有哪些

2023-07-05 19:07:30 773人浏览 安东尼
摘要

这篇文章主要介绍了Java中mybatis分页查询的传参方式有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java中Mybatis分页查询的传参方式有哪些文章都会有所收获,下面我们一起来看看吧。一、顺序传

这篇文章主要介绍了Java中mybatis分页查询的传参方式有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java中Mybatis分页查询的传参方式有哪些文章都会有所收获,下面我们一起来看看吧。

一、顺序传参

sql中的参数使用arg0,arg1...或param1,param2...表示参数的顺序。此方法可读性较低,在开发中不建议使用。但是我这里测试的时候,参数可以随便定义的,并不一定按照上述的格式来定义

 1. 持久层接口方法

    List<User> findPage(int startIndex,int pageSize);

2. UserMapper.xml映射文件新增标签

<!-- 分页查询-顺序传参 -->    <select id="findPage" resultType="com.mybatisstudy.pojo.User">        select * from user limit #{param1},#{param2}    </select>

这里我发现不用定义参数类型类型也可以 

3. 新增测试方法

// 测试分页查询方法 -- 顺序传参    @Test    public void testFindPage(){        List<User> users = userMapper.findPage(0,3);        users.forEach(System.out::println);    }

4. 运行结果

Java中Mybatis分页查询的传参方式有哪些

由于这里的起始条数是从0开始,数据的id从1开始,所以,别惊讶

二、@param传参

在接口方法的参数列表中通过@Param定义参数名称,在Sql语句中通过注解中所定义的参数名称指定参数位置。此方式参数比较直观的,推荐使用。

 1. 持久层接口方法

    List<User> findPage1(@Param("startIndex")int startIndex,@Param("pageSize")int pageSize);

2. UserMapper.xml映射文件新增标签

<!-- 分页查询-@param传参 -->    <select id="findPage1" resultType="com.mybatisstudy.pojo.User">        select * from user limit #{startIndex},#{pageSize}    </select>

注意,这里里面的参数就一定要和持久层接口的参数一致,否则就会报错 

 3. 新增测试方法

// 测试分页查询方法 -- @param传参    @Test    public void testFindPage1(){        List<User> users = userMapper.findPage1(3,3);        users.forEach(System.out::println);    }

4. 运行结果

Java中Mybatis分页查询的传参方式有哪些

三、自定义POJO类传参

自定义POJO类,该类的属性就是要传递的参数,在SQL语句中绑定参数时使用POJO的属性名作为参数名即可。此方式推荐使用。

 1. 自定义POJO类

由于这里我们需要两个参数,一个是查询开始条数,一个是每页有多少条数,所以这个pojo类只需要两个参数即可

package com.mybatisstudy.pojo; public class PageQuery {    private int startIndex;    private int pageSize;     public PageQuery(int i, int i1) {        this.startIndex = i;        this.pageSize = i1;    }     public int getStartIndex() {        return startIndex;    }     public void setStartIndex(int startIndex) {        this.startIndex = startIndex;    }     public int getPageSize() {        return pageSize;    }     public void setPageSize(int pageSize) {        this.pageSize = pageSize;    }}

2. 持久层接口方法

    List<User> findPage2(PageQuery pageQuery);

3. UserMapper.xml映射文件新增标签

<!-- 分页查询-POJO传参 -->    <select id="findPage2" resultType="com.mybatisstudy.pojo.User" parameterType="com.mybatisstudy.pojo.PageQuery">        select * from user limit #{startIndex},#{pageSize}    </select>

   这里同样需要注意的是,参数名称要和自定义的POJO类的成员变量名要一致,否则同样会报错 

 4. 新增测试方法

// 测试分页查询方法 -- POJO传参    @Test    public void testFindPage2(){        PageQuery pageQuery = new PageQuery(2,3);        List<User> users = userMapper.findPage2(pageQuery);        users.forEach(System.out::println);    }

5. 运行结果

Java中Mybatis分页查询的传参方式有哪些

四、Map传参

如果不想自定义POJO,可以使用Map作为传递参数的载体,在SQL语句中绑定参数时使用Map的Key作为参数名即可。此方法推荐使用

 1. 持久层接口方法

    List<User> findPage3(Map<String,Object> params);

2. UserMapper.xml映射文件新增标签

<!-- 分页查询-Map传参 -->    <select id="findPage3" resultType="com.mybatisstudy.pojo.User" parameterType="map">        select * from user limit #{startIndex},#{pageSize}    </select>

这里同样需要注意的是,参数个数要和你map集合的个数一致,并且参数名称要和map集合里面的key的名称要一致,否则同样报错

 3. 新增测试方法

// 测试分页查询方法 -- Map传参    @Test    public void testFindPage3(){        Map<String,Object> params = new HashMap<>();        params.put("startIndex",0);        params.put("pageSize",4);        List<User> users = userMapper.findPage3(params);        users.forEach(System.out::println);    }

4. 运行结果

Java中Mybatis分页查询的传参方式有哪些

关于“Java中Mybatis分页查询的传参方式有哪些”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Java中Mybatis分页查询的传参方式有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: Java中Mybatis分页查询的传参方式有哪些

本文链接: https://www.lsjlt.com/news/354790.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java中Mybatis分页查询的传参方式有哪些
    这篇文章主要介绍了Java中Mybatis分页查询的传参方式有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java中Mybatis分页查询的传参方式有哪些文章都会有所收获,下面我们一起来看看吧。一、顺序传...
    99+
    2023-07-05
  • Java中Mybatis分页查询的四种传参方式
    目录一、顺序传参 1. 持久层接口方法2. UserMapper.xml映射文件新增标签3. 新增测试方法4. 运行结果二、@param传参 1. 持久...
    99+
    2023-05-13
    Java Mybatis分页查询 Mybatis分页查询 Mybatis传参方式
  • Mybatis分页查询——四种传参方式
    目录 相关导读 一、顺序传参 1. 持久层接口方法 2. UserMapper.xml映射文件新增标签 3. 新来源地址:https://blog.csdn.net/qq_53317005/article/details/129849030...
    99+
    2023-08-31
    java maven mybatis mysql
  • MyBatis-Plus分页查询的方法有哪些
    本文小编为大家详细介绍“MyBatis-Plus分页查询的方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“MyBatis-Plus分页查询的方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。方法:...
    99+
    2023-06-29
  • mybatis分页的方式有哪些
    本篇内容主要讲解“mybatis分页的方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mybatis分页的方式有哪些”吧!mybatis分页的方式:1、借助数组进行分页,首先查询出全部数...
    99+
    2023-07-04
  • sqlServer实现分页查询的方式有哪些
    今天小编给大家分享一下sqlServer实现分页查询的方式有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。sqlServ...
    99+
    2023-07-05
  • ajax中data传参的方式有哪些
    这篇文章主要介绍ajax中data传参的方式有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:1. POST方式: function orderCancel(o...
    99+
    2022-10-19
  • java线程传递参数的方式有哪些
    在Java中,线程传递参数的方式有以下几种: 使用构造函数传递参数:可以在创建线程对象时,通过构造函数将参数传递给线程对象。通过...
    99+
    2023-10-27
    java
  • mongodb分页查询优化的方法有哪些
    有以下几种方法可以优化MongoDB的分页查询:1. 使用索引:为分页查询的字段创建索引,这可以大大提高查询性能。在分页查询中,常用...
    99+
    2023-08-23
    mongodb
  • Go中数组传参的方式有哪些
    这篇文章主要介绍“Go中数组传参的方式有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Go中数组传参的方式有哪些”文章能帮助大家解决问题。初学Golang,数组传参问题就是把我整不会了,以前我们...
    99+
    2023-07-05
  • Mybatis传参为逗号分隔的字符串情形进行in条件查询方式
    目录传参为逗号分隔的字符串情形进行in条件查询后端只需要做如下调整根据逗号分隔的id查询传参为逗号分隔的字符串情形进行in条件查询 在业务变更需支持多条件查询,在改动最小的情况下,实...
    99+
    2022-11-13
  • mybatis对传入基本类型参数的判断方式有哪些
    这篇文章主要介绍mybatis对传入基本类型参数的判断方式有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!对传入基本类型参数的判断mybatis的xml文件的sql语句中parameterType为基本类型,如:...
    99+
    2023-06-29
  • 数据库中的查询方式有哪些
    数据库中的查询方式有以下几种:1. SQL查询语句:使用结构化查询语言(SQL)编写查询语句,包括SELECT、INSERT、UPD...
    99+
    2023-08-14
    数据库
  • python中函数传递参数的方式有哪些
    本篇文章为大家展示了python中函数传递参数的方式有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不...
    99+
    2023-06-14
  • java中List分页的方法有哪些
    本篇内容介绍了“java中List分页的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.根据入参带分页参数进行sql查询分页&n...
    99+
    2023-06-21
  • Java中文件上传的方式有哪些
    本文小编为大家详细介绍“Java中文件上传的方式有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java中文件上传的方式有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。请求类型单文件上传 &n...
    99+
    2023-07-02
  • mysql中带多个条件的查询方式有哪些
    这篇文章将为大家详细讲解有关mysql中带多个条件的查询方式有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mysql 带多个条件的查询环境:mysql 5.7当一个where语句中同时出现...
    99+
    2023-06-15
  • Spring Data JPA中in条件参数的传递方式有哪些
    这篇文章主要介绍Spring Data JPA中in条件参数的传递方式有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!关于Spring Data JPA中自定义sql 条件的 in参数记录此文做一个记录,以便以后...
    99+
    2023-06-15
  • Java中Elasticsearch实现分页的方法有哪些
    这篇文章主要介绍“Java中Elasticsearch实现分页的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java中Elasticsearch实现分页的方法有哪些”文章能帮助大家解决问...
    99+
    2023-07-02
  • Java字符串中指定部分反转的方式有哪些
    这篇文章主要讲解了“Java字符串中指定部分反转的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java字符串中指定部分反转的方式有哪些”吧!将“asdfghj”反转为“ashgf...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作