Mysql分页查询

来源:互联网 发布:全面战争mac 迅雷下载 编辑:程序博客网 时间:2024/06/07 11:07

        最近公司安卓项目少,正好有几个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>



原创粉丝点击