Mysql分页查询

        最近公司安卓项目少,正好有几个javaweb项目可以做。公司又缺人手,所以就分到了java项目上。

        这个项目是个快递系统,因为项目中设计到很多sql语句的查询,有些和android的sql语句不太一样。所以就把项目中用到的sql语句记下来,毕竟好记性不如烂笔头。     

        在写代码之前先介绍一下项目的环境,项目使用的框架是springmvc、spring、mybatis。使用mybatis可以生成modle实体类,以及一些简单的增删改查语句。

        java部分代码,因为方法中会用到一些字段,所以就模拟一些

        @Responsebody

        @RequestMapping("/XXX.do")

        public void XXX(ModelMap model ,HttpServletRequest request,HttpServletResponse response) {

                int beginIndex_Int = -1;

                int pageSize_Int = 0;

                // 在这里取出需要分页的起始索引以及每页的数据量

                String beginIndex = request.getparameter("beginIndex");

                String pageSize = request.getParameter("pageSize");

               // 因为数据库在分页的时候查询索引和数量不支持字符串,所以需要转换成int型

                if(beginIndex != null){

                        beginIndex_Int = Integer.ParseInt(beginIndex);

                }

                if(pageSize != null){

                        pageSize_Int = Integer.parseInt(pageSize);

                }

                Map<String,Object> map = new HashMap<String,Object>();

                // 把页数和数量放到map集合中

                map.put("beginIndex",beginIndex_Int);

                map.put("pageSize","pageSize_Int");

                // 把map作为参数传到Mapper文件中去

                XXX(map);

        }

    sql语句的写法:

    <select  id = "XXX(方法名)"  parameterType = "hashmap" resultMap = "BaseResultMap">

             select * from table(写自己的表名称)

             where 1 = 1

             order by XX(根据某个字段排序) desc

            <if test ="beginIndex != null and beginIndex != -1  ">

                     limit #{beginIndex,jdbcType=INTEGER},#{pageSize,jdbcType=INTEGER}

           </if>

    </select>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL页查询是指在查询结果集中,根据指定的起始位置和每页显示的记录数,返回对应的记录。常见的MySQL分页查询方法有两种:使用LIMIT关键字和使用子查询。 第一种方法是使用LIMIT关键字,其语法为:SELECT * FROM table LIMIT m, n。其中m表示起始位置,n表示每页显示的记录数。引用中提到,该查询方法能够实现分页,但m越大,查询性能就越低,因为MySQL需要扫描全部m+n条记录。 第二种方法是使用子查询,其语法为:SELECT * FROM (SELECT * FROM table LIMIT m, n) AS t。这种方法相比第一种方法,性能更强,尤其是当m的值较大时。引用指出,由于内部的子查询只扫描了id字段,而非全表,所以性能要强于第一种方法,并且能够解决跨页查询问题。 综上所述,MySQL分页查询可以通过使用LIMIT关键字或者子查询来实现。具体选择哪种方法取决于查询的需求和性能要求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [MySQL分页查询的5种方法](https://blog.csdn.net/m0_67391401/article/details/126062208)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [mysql 数据库分页查询详细讲解](https://blog.csdn.net/m0_37449634/article/details/128903042)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值