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>
原文地址:https://www.cnblogs.com/ljmm/p/13745032.html