Mybatis分页Pagehelper以及前端插件结合使用完整版

前端效果图:
在这里插入图片描述

后台部分

maven依赖:
基于mybatis

<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.3.2</version>
		</dependency>
        <dependency>
		 	<groupId>com.github.pagehelper</groupId>
		 	<artifactId>pagehelper-spring-boot-autoconfigure</artifactId>
		 	<version>1.2.3</version>
		</dependency>
		<dependency>
		 	<groupId>com.github.pagehelper</groupId>
		 	<artifactId>pagehelper-spring-boot-starter</artifactId>
		 	<version>1.2.3</version>
		</dependency>

service代码:
Role为角色实体类

 PageInfo<Role> selectRoleList(Integer pageNum, Integer pageSize,Role role);
``


serviceimpl实现类:

注意:下面的方法不写在controller里面

	@Override
	public PageInfo<Role> selectRoleList(Integer pageNum, Integer pageSize, Role role) {
		PageHelper.startPage(pageNum, pageSize);
		List<Role> list = roleMapper.selectRoleListByName(role);
		PageInfo<Role> pageInfo = new PageInfo<>(list);
		return pageInfo;
	}

controller:

@GetMapping("index")
	public String adminIndex(Role record,Model model,
			@RequestParam(required=true,value="pageNum",defaultValue="1") Integer pageNum,
			@RequestParam(required=true,value="pageSize",defaultValue="15") Integer pageSize
			){
		 
		      PageInfo<Role> pageInfo = roleService.selectRoleList(pageNum, pageSize, record);
		      model.addAttribute("rolename", record.getRolename());
			  model.addAttribute("pageInfo", pageInfo);	
		      return "admin/role/setup";
	}
	

前端部分:

在后端 参数部分defaultValue="15"默认每页显示15条,若没有15条数据不显示分页;根据情况自己修改测试。

需要的js,css:

jquery.pagination.css
jquery.pagination.min.js

插件下载:
https://download.csdn.net/download/qq_22860341/10694937
或者去网上自行寻找资源下载

示例:

<link rel="stylesheet" th:href="@{/api/css/jquery.pagination.css}">
<script th:src="@{/api/js/jquery.pagination.min.js}"></script>

html代码:

<table class="table  table-striped" border="1" cellspacing="0" cellpadding="0">
				<tr>
					<td><input type="checkbox" name="" id="checkall" value="" /></td>
					<td>序号</td>
					<td>角色</td>
					<td>创建时间</td>
				</tr>
				<tr th:each="a,aStat:${pageInfo.list}">
					<td><input type="checkbox" name="childcheck" th:id="${a.id}" th:value="${a.id}" /></td>
					<td th:text="${aStat.count}">1</td>
					<td th:text="${a.rolename}">超级管理员</td>
					<td th:text="${#strings.substring(a.createtime,0,19)}">2018.05.07 15:30</td>
				</tr>
			</table>
			
		<div class="box">
	       <div id="pagination" class="page center">
	     </div>

最后这个分页代码一定加:

    	<div class="box">
	        <div id="pagination" class="page center">
	   </div>

js代码:

     <script>
	       var pageNum = [[${pageInfo.pageNum}]];
	      var pages = [[${pageInfo.pages}]];
	      var pageSize = [[${pageInfo.pageSize}]];
	     //
		    $("#pagination").pagination({
	            currentPage: pageNum,
	            totalPage: pages,
	            isShow: true,
	            count: pageSize,
	            homePageText: "首页",
	            endPageText: "尾页",
	            prevPageText: "上一页",
	            nextPageText: "下一页",
	        });
	        //点击页数
	        $('.ui-pagination-page-item').on('click', function () {
	            var pageNum = $(this).attr('data-current');
	            var zhanghao = $("#searchrole").val();   //这是搜索时的参数,根据实际情况加或者不要
	            
	            window.location.href = encodeURI('/sys/role/index?pageNum=' + pageNum+'&rolename='+zhanghao);
	        });
			
	  </script>
  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
MyBatis 是一个优秀的持久层框架,而 PageHelper 是一个用于 MyBatis分页插件使用 PageHelper 可以方便地实现分页功能。下面是使用 PageHelper 进行分页的步骤: 1. 添加依赖:在项目的 `pom.xml` 文件中添加以下依赖: ```xml <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>latest-version</version> </dependency> ``` 可以在 Maven 仓库中找到最新版本的 PageHelper。 2. 配置 PageHelper:在 MyBatis 的配置文件中添加以下配置项: ```xml <plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"> <!-- 可选:设置数据库方言,用于支持不同数据库的分页 --> <property name="dialect" value="mysql"/> <!-- 可选:设置为 true 启用合理化查询,开启后,如果 pageSize=0 或者 PageMethod 的 `count` 参数为 true,则会查询总数 --> <property name="reasonable" value="true"/> </plugin> </plugins> ``` 注意:根据你所使用的数据库类型,需要将 `dialect` 属性配置为相应的数据库方言。 3. 使用 PageHelper 进行分页:在需要进行分页的查询方法中,使用 PageHelper 的静态方法来设置分页参数,例如: ```java import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; // ... // 设置分页参数,pageNum 表示当前页数,pageSize 表示每页显示的记录数 PageHelper.startPage(pageNum, pageSize); // 执行查询 List<MyEntity> resultList = myEntityMapper.selectByExample(example); // 封装查询结果,并返回给前端 PageInfo<MyEntity> pageInfo = new PageInfo<>(resultList); return pageInfo; ``` 这样就完成了使用 PageHelper 进行分页的配置和使用PageHelper 会自动在查询语句后面添加分页的 SQL 语句,根据传入的分页参数进行数据查询和结果封装。返回的 `PageInfo` 对象可以用于获取分页相关的信息,如总记录数、总页数等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值