MyBatis数据分页的实现

本文介绍如何使用PageHelper插件实现MyBatis的数据分页功能。首先需在pom.xml中添加依赖,并在mybatis配置文件中启用PageInterceptor。接着展示了具体的SQL映射配置及分页查询的实现方式。

利用pagehelper实现MyBatis数据的分页功能。


在pom.xml中添加依赖:

<dependency>
  <groupId>com.github.pagehelper</groupId>
  <artifactId>pagehelper</artifactId>
  <version>${pagehelper.version}</version>
</dependency>


mybatis配置文件添加:

<plugins>
   <plugin interceptor="com.github.pagehelper.PageInterceptor">
      <property name="param1" value="value1"/>
   </plugin>
</plugins>
mapping中的sql

<!-- 日志信息的查询 -->
<select id="selectSelective" parameterType="java.util.Map" resultMap="BaseResultMap">
   select
    <include refid="Base_Column_List" />
    from sys_log
    <where>
      <if test="type !=null and type != 0 ">
           type = #{type, jdbcType=TINYINT}
   </if> 
   <if test="status != null and status != 0">
       AND state =  #{state, jdbcType=TINYINT}
   </if>
   <if test="host != null">
       AND host = #{host, jdbcType=CHAR}
   </if>
   <if test="username != null ">
       AND username = #{username, jdbcType=CHAR}
   </if>
    </where>
    ORDER BY id desc
</select>


数据分页的实现

@RequestMapping(value="/log", method = RequestMethod.GET, headers = "X-Requested-With=XMLHttpRequest")
@ApiOperation(value = "日志信息查询", response = ModelAndView.class, 
      notes = "日志查询 操作类型 0 全部、 1 登入、 2 登出",produces = org.springframework.http.MediaType.APPLICATION_JSON_VALUE)
@ApiImplicitParams({
   @ApiImplicitParam(name = "username", value = "帐号", required = false, dataType = "String", paramType = "query"),
   @ApiImplicitParam(name = "type", value = "操作类型", required = false, dataType = "String",defaultValue="0", paramType = "query"),
   @ApiImplicitParam(name = "host", value = "主机地址", required = false, dataType = "String", paramType = "query"),
   @ApiImplicitParam(name = "pageNum", value = "页码", required = true, dataType = "String",defaultValue="0", paramType = "query"),
   @ApiImplicitParam(name = "pageSize", value = "每页显示两", required = true, dataType = "String",defaultValue="5", paramType = "query")
})
public ModelAndView getLog(HttpServletRequest request){
   Map<String,Object> paramMap = new HashMap();
   paramMap.put("type", Util.getIntParameter(request, "type", false, "SysLog.type", 0));
   paramMap.put("usermane", Util.getTrimParameter(request, "usermane"));
   PageData pageData = new PageData();
   pageData = Util.getPage(request, pageData);
   Page page = PageHelper.startPage(pageData.getPage(),pageData.getLimit(),true);
   List<?> list = logService.selectSelective(paramMap);
   pageData.setTotal(page.getTotal());
   pageData.setItems(list);
   return getResultPageView(pageData);
}



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值