您的位置:首页 > 编程语言 > Java开发

基于Springmvc+Mybatis+Spring+Freemarker的物理分页插件(超级简单)

2017-03-07 10:41 513 查看

1.先上效果图(不怎么好看,主要看功能)



2.实现(Maven项目)

2.1配置pom.xml文件

<!-- 物理分页 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.0.0</version>
</dependency>

2.2配置Pagehelper核心拦截器

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
p:dataSource-ref="dataSource" p:mapperLocations="classpath:com/exp/phone/mapping/*.xml">
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<value>
helperDialect=mysql
supportMethodsArguments=true
</value>
</property>
</bean>
</array>
</property>
</bean>

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.exp.phone.dao" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>

<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>


2.3使用(后端)

@RequestMapping("/list")
public String list(Model model,@RequestParam(value="pageNum", defaultValue="1") int pageNum,
@RequestParam(value="pageSize", defaultValue="3") int pageSize){
PageHelper.startPage(pageNum, pageSize);
List<User> list = userService.list(new HashMap());
PageInfo page = new PageInfo(list);
model.addAttribute("page",page);
return "freeMarker";

}

2.4使用(前端)

<#setting classic_compatible=true>
<#assign base=request.contextPath />
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>User List</title>
<link href=" ${base}/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<style>
li{float: left; list-style: none;margin: 10px;}
.active{background-color: red}
</style>
</head>

<body>

<h3>总记录:${page.total}</h3>
<h3>是否为第一页:${page.isFirstPage}</h3>
<h3>是否为最后一页:${page.isLastPage}</h3>
<h3>导航页码数:${page.navigatePages}</h3>
<h3>导航条上的第一页:${page.navigateFirstPage}</h3>
<h3>导航条上的最后一页:${page.navigateLastPage}</h3>
<h3>上一页:${page.prePage}</h3>
<h3>下一页:${page.nextPage}</h3>
<h3>总页数:${page.pages}</h3>
<table  border="1" class="table table-striped">
<thead>
<tr>
<th width="40%">Username</th>
<th width="30%">Phone</th>
<th width="30%">Sex</th>
</tr>
</thead>
<tbody>
<#if page.list??>
<#list page.list as item>
<tr>
<td>${item.username}</td>
<td>${item.phone}</td>
<td>${(item.sex == 1)?string("男","女")}</td>
<tr>
</#list>
<#else>
<p>	抱歉!暂时无数据 </p>
</#if>
</tbody>

</table>
<div class="message">
共<i class="blue">${page.total}</i>条记录,当前显示第 <i
class="blue">${page.pageNum}/${page.pages}</i> 页
</div>
<div style="text-align:center;">
<ul class="pagination">

<#if !page.isFirstPage >
<li><a href="javascript:queryAll(${page.firstPage}, ${page.pageSize});"><<</a></li>
<li><a href="javascript:queryAll(${page.prePage}, ${page.pageSize});"><</a></li>
</#if>
<#list page.navigatepageNums as navigatepageNum>
<#if navigatepageNum==page.pageNum>
<li class="active"><a href="javascript:queryAll(${navigatepageNum}, ${page.pageSize});">${navigatepageNum}</a></li>
</#if>
<#if navigatepageNum!=page.pageNum>
<li><a href="javascript:queryAll(${navigatepageNum}, ${page.pageSize});">${navigatepageNum}</a></li>
</#if>
</#list>
<#if !page.isLastPage>
<li><a href="javascript:queryAll(${page.nextPage}, ${page.pageSize});">></a></li>
<li><a href="javascript:queryAll(${page.lastPage}, ${page.pageSize});">>></a></li>
</#if>

</ul>
</div>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script type="text/javascript">
function queryAll(pageNum, pageSize){
document.location.href="http://localhost/phoneRegisterandAngularJS/pageHelperController/list?pageNum="+pageNum;
}
</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息