zoukankan      html  css  js  c++  java
  • mybatis分页插件

    mybatis分页插件:

      1,maven包

    <!-- 引入mybatis的 pagehelper 分页插件 -->
        <dependency>
          <groupId>com.github.pagehelper</groupId>
          <artifactId>pagehelper</artifactId>
          <version>5.1.2</version>
        </dependency>

      springconfig配置文件引入

        <!-- 引入 pageHelper插件 -->
        <!--注意这里要写成PageInterceptor, 5.0之前的版本都是写PageHelper, 5.0之后要换成PageInterceptor-->
        <plugins>
            <plugin interceptor="com.github.pagehelper.PageInterceptor">
                <!--reasonable:分页合理化参数,默认值为false,直接根据参数进行查询。
                  当该参数设置为 true 时,pageNum<=0 时会查询第一页, pageNum>pages(超过总数时),会查询最后一页。-->
                <!--<property name="reasonable" value="true"/>-->
            </plugin>
            <!--<plugin interceptor="com.realm.interceptor.PagePlugin"></plugin>-->
        </plugins>

      2,controller层

        /**
         * 单表mybatis插件分页方法测试
         * @param request
         * @return
         * @throws Exception
         */
        @RequestMapping("/queryList")
        @ResponseBody
        public PageInfo<Notice> queryList(HttpServletRequest request) {
            PageInfo<Notice> pageInfo= new PageInfo<>();
            Notice notice = new Notice();
    
            String pageNums = request.getParameter("pageNum");//页码
            String pageSizes = request.getParameter("pageSize");//当页显示条数
            Integer pageNum=0;
            Integer pageSize=10;
            if(pageNums != null && !"".equals(pageNums)){
                pageNum = Integer.parseInt(pageNums);
            }
            if(pageSizes != null && !"".equals(pageSizes)){
                pageSize = Integer.parseInt(pageSizes);
            }
            pageInfo = iNoticeService.queryList(notice,pageNum,pageSize);
            return pageInfo;
        }

      3,、serviceImpl层

        @Override
        @Transactional
        public PageInfo<Notice> queryList(Notice notice, Integer pageNum, Integer pageSize){
    
            //利用PageHelper分页查询 注意:这个一定要放查询语句的前一行,否则无法进行分页,因为它对紧随其后第一个sql语句有效
            PageHelper.startPage(pageNum,pageSize);
            List<Notice> list = noticeMapper.queryList(notice);
            PageInfo<Notice> pageInfo = new PageInfo<Notice>(list);
            return pageInfo;
        }

      4,SQL

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.ns.dao.NoticeMapper">
      <resultMap id="BaseResultMap" type="com.ns.entity.Notice">
        <!--
          WARNING - @mbggenerated
          This element is automatically generated by MyBatis Generator, do not modify.
        -->
        <id column="id" jdbcType="INTEGER" property="id" />
        <result column="isdelete" jdbcType="INTEGER" property="isdelete" />
        <result column="createtime" jdbcType="TIMESTAMP" property="createtime" />
        <result column="createUser" jdbcType="VARCHAR" property="createUser" />
        <result column="projectName" jdbcType="VARCHAR" property="projectName" />
        <result column="opening_area" jdbcType="DECIMAL" property="opening_area" />
        <result column="construction" jdbcType="VARCHAR" property="construction" />
        <result column="plot_ratio" jdbcType="VARCHAR" property="plot_ratio" />
        <result column="total_area" jdbcType="DECIMAL" property="total_area" />
        <result column="area_of_plot_ratio" jdbcType="DECIMAL" property="area_of_plot_ratio" />
        <result column="assessment" jdbcType="VARCHAR" property="assessment" />
        <result column="research" jdbcType="VARCHAR" property="research" />
        <result column="source" jdbcType="VARCHAR" property="source" />
        <result column="project_summary" jdbcType="VARCHAR" property="project_summary" />
        <result column="organization" jdbcType="VARCHAR" property="organization" />
        <result column="intention" jdbcType="VARCHAR" property="intention" />
        <result column="conditions" jdbcType="VARCHAR" property="conditions" />
        <result column="cooperation" jdbcType="VARCHAR" property="cooperation" />
        <result column="benefit" jdbcType="VARCHAR" property="benefit" />
        <result column="proportion" jdbcType="VARCHAR" property="proportion" />
        <result column="deadline" jdbcType="VARCHAR" property="deadline" />
        <result column="instruction" jdbcType="VARCHAR" property="instruction" />
        <result column="decision" jdbcType="VARCHAR" property="decision" />
        <result column="plot" jdbcType="VARCHAR" property="plot" />
        <result column="enterprise" jdbcType="VARCHAR" property="enterprise" />
        <result column="filename" jdbcType="VARCHAR" property="filename" />
        <result column="payment" jdbcType="CHAR" property="payment" />
        <result column="trading_terms" jdbcType="VARCHAR" property="trading_terms" />
        <result column="information" jdbcType="VARCHAR" property="information" />
        <result column="complaint" jdbcType="VARCHAR" property="complaint" />
        <result column="fax" jdbcType="VARCHAR" property="fax" />
        <result column="url" jdbcType="VARCHAR" property="url" />
        <result column="weChat_official" jdbcType="VARCHAR" property="weChat_official" />
        <result column="address" jdbcType="VARCHAR" property="address" />
        <result column="is_partner" jdbcType="CHAR" property="is_partner" />
        <result column="is_guarantee" jdbcType="CHAR" property="is_guarantee" />
        <result column="is_client" jdbcType="CHAR" property="is_client" />
      </resultMap>
      <sql id="Base_Column_List">
        <!--
          WARNING - @mbggenerated
          This element is automatically generated by MyBatis Generator, do not modify.
        -->
        id, isdelete, DATE_FORMAT(createtime,'%Y-%m-%d') as createtime, createUser, projectName, opening_area, construction, plot_ratio,
        total_area, area_of_plot_ratio, assessment, research, source, project_summary, organization, 
        intention, conditions, cooperation, benefit, proportion, deadline, instruction, decision, 
        plot, enterprise, filename, payment, trading_terms, information, complaint, fax, 
        url, weChat_official, address, is_partner, is_guarantee, is_client
      </sql>
      <select id="queryList" resultMap="BaseResultMap">
        select
          <include refid="Base_Column_List"/>
          from notice
          where isdelete=0
          <if test="projectName !=null and projectName!=''">
           and projectName like CONCAT('%',CONCAT(#{projectName},'%'))
          </if>
      </select>
    </mapper>
  • 相关阅读:
    Python3-笔记-E-005-库-系统os
    Python3-笔记-E-004-库-日历calendar
    Python3-笔记-E-003-库-日期时间datatime
    Python3-笔记-E-002-库-Unix纪元时间戳time
    Python3-笔记-E-001-库-随机数random
    Python3-笔记-D-001-异常与断言
    Python3-笔记-C-007-函数-导入模块并调用
    【bzoj2199/Usaco2011 Jan】奶牛议会——2-sat
    【bzoj1578/Usaco2009 Feb】Stock Market 股票市场——完全背包
    【bzoj1741/Usaco2005 nov】Asteroids 穿越小行星群——最小割
  • 原文地址:https://www.cnblogs.com/ljmm/p/13745032.html
Copyright © 2011-2022 走看看