天天看点

SpringBoot+pagehelper+bootstrap分页

1.创建数据库表,以oracle中创建users数据表为例并添加数据

-- 用户信息表
create table users(
       u_id integer primary key, -- 用户id
       u_name varchar2(30) not null unique, --用户姓名
       u_password varchar2(16) not null, --用户密码
       u_phone varchar2(11) unique, --用户手机号
       u_email varchar2(26) unique, --用户邮箱
       u_jurisdiction varchar2(40) not null --用户权限
);
--用户表自动增长序列
create sequence sequence_uid start with 1 increment by 1;

-- 用户表id触发器
create or replace trigger tr_users
before insert on users
for each row
begin
select sequence_uid.nextval into :new.u_id from dual;
end;

insert into users(u_name,u_password,u_phone,u_email,u_jurisdiction)
values('admin','admin','17684542','[email protected]','user:amdin');
commit;

insert into users(u_name,u_password,u_phone,u_email,u_jurisdiction)
values('张三','user','123465888','[email protected]','user:update');
commit;

insert into users(u_name,u_password,u_phone,u_email,u_jurisdiction)
values('李四','user','163746734','[email protected]','user:update');
commit;

insert into users(u_name,u_password,u_phone,u_email,u_jurisdiction)
values('qq','user','454545454','[email protected]','user:update');
commit;

insert into users(u_name,u_password,u_phone,u_email,u_jurisdiction)
values('ww','user','13435454','[email protected]','user:update');
commit;

insert into users(u_name,u_password,u_phone,u_email,u_jurisdiction)
values('ee','user','767657567','[email protected]','user:update');
commit;

insert into users(u_name,u_password,u_phone,u_email,u_jurisdiction)
values('tt','user','8989898','[email protected]','user:update');
commit;
           

2.修改pom.xml文件,引入pagehelper依赖

<!-- pagehelper分页插件 -->
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper</artifactId>
			<version>5.1.4</version>
		</dependency>
		
		<!-- 分页插件 -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.5</version>
        </dependency>
           

3.打开application.properties,配置分页

#分页插件
pagehelper.helper-dialect=oracle  #指定数据库,对应什么数据库就写什么,没写会自动检测
pagehelper.params=count=countSql
pagehelper.reasonable=true
pagehelper.support-methods-arguments=true
           

4.直接用mybatis逆向工程插件创建相应的方法,具体可看之前的博客SpringBoot使用mybatis插件自动创建逆向工程

5.添加一个RequestMapping

@RequestMapping("searchuser")
	public String searchUser(Model model,@RequestParam(value="pageNum",defaultValue="1")Integer pageNum) {
		//查询之前调用startPage,就是每页显示多少条数据
		PageHelper.startPage(pageNum, 3);
		
		//拿到所有用户数据
		List<Users> list = userServiceImp.queryAllUsers();
		
        //将查询到的数据放入pagehepler中
		PageInfo<Users> pageInfo = new PageInfo<Users>(list);

		// 将查询到的数据存到返回
		model.addAttribute("pageInfo", pageInfo);
		return "userfrom";
	}
           

6.在src/main/resources的templates下新建一个userfrom.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>所有用户</title>
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" target="_blank" rel="external nofollow" >
<script src="https://cdn.staticfile.org/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>

</head>
<body>
	<div align="center">
		<table  id="mytable"
			class="table table-striped table-hover table-condensed table-bordered">
			<thead>
				<tr>
					<th>id</th>
					<th>姓名</th>
					<th>手机号</th>
					<th>邮箱</th>
					<th>权限</th>
				</tr>
			</thead>
			<tbody>
				<tr th:each="users:${pageInfo.list}">
					<td th:text="${users.u_id}"></td>
					<td th:text="${users.u_name}"></td>
					<td th:text="${users._phone}"></td>
					<td th:text="${users.u_email}"></td>
					<td th:text="${users.u_jurisdiction}"></td>
				</tr>
			</tbody>
		</table>
		<p>
			当前 <span th:text="${pageInfo.pageNum}"></span> 页,总 <span
				th:text="${pageInfo.pages}"></span> 页,共 <span
				th:text="${pageInfo.total}"></span> 条记录
		</p>
		<ul class="pagination">
			<li><a th:href="@{/user/searchuser}" target="_blank" rel="external nofollow" >第一页</a> </li>
			<li><a th:href="@{/user/searchuser(pageNum=${pageInfo.hasPreviousPage}?${pageInfo.prePage}:1)}" target="_blank" rel="external nofollow" >上一页</a></li>
			<li><a th:href="@{/user/searchuser(pageNum=${pageInfo.hasNextPage}?${pageInfo.nextPage}:${pageInfo.pages})}" target="_blank" rel="external nofollow" >下一页</a></li>
			<li><a th:href="@{/user/searchuser(pageNum=${pageInfo.pages})}" target="_blank" rel="external nofollow" >最后一页</a></li>
		</ul>
	</div>
</body>
</html>
           

7.启动项目,浏览器输入http://localhost:8089/user/searchuser(成功)

SpringBoot+pagehelper+bootstrap分页

继续阅读