1.在pom文件中添加依赖
<!--引入pageHelper分页插件 PageInfo -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.0.0</version>
</dependency>
2.在spring-core.xml中添加插件
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="ds"></property>
<!-- 扫描我们制定目录下的mapper.xml文件
EmployeeMapper.xml
DeptMpper.xml
-->
<property name="mapperLocations" value="classpath:mybatis/mapper/*.xml"></property>
<!-- 加载mybatis的配置文件 -->
<property name="configLocation" value="classpath:mybatis/sqlMapConfig.xml"></property>
<!-- 引入pagehelper分页插件 -->
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<value>
helperDialect=mysql
reasonable=true
supportMethodsArguments=true
params=count=countSql
autoRuntimeDialect=true
</value>
</property>
</bean>
</array>
</property>
</bean>
3.前端JS
$(function () {
search(1);
});
function search(obj) {
$.ajax({
type: 'GET',
url: '${pageContext.request.contextPath}/analysis/showAnalysisInfo',
data: {
"currentPage": obj,
"keyindex": $("#condition").val(),
"keyCode": "%" + $("#info").val() + "%",
"num": $("#num").val()
},
dataType: 'json',
success: function (rs) {
$(".datattr").remove();
$(rs.list).each(function (index, analysis) {
var tr = "<tr align='center' class=\"datattr\" bgcolor=\"#FFFFFF\" onMouseMove=\"javascript:this.bgColor='#FCFDEE';\"onMouseOut=\"javascript:this.bgColor='#FFFFFF';\" height=\"22\" >\n" +
"\t<td><input name=\"id\" type=\"checkbox\" id=\"id\" value=\"101\" class=\"np\"></td>\n" +
"\t<td>" + analysis.id + "</td>\n" +
"\t<td>" + analysis.title + "</td>\n" +
"\t<td align=\"center\"><a href=''><u>" + analysis.project.pname + "</u></a></td>\n" +
"\t<td>2015-02-03</td>\n" +
"\t<td>2015-06-03</td>\n" +
"\t<td><a href='${pageContext.request.contextPath}/project-need-edit.jsp?id=" + analysis.id + "'>编辑</a> | <a href=\"${pageContext.request.contextPath}/project-need-look.jsp?id=" + analysis.id + "\">查看详情</a></td>\n" +
"</tr>";
$("#attr").after(tr);
});
$("#mm").each(function () {
$(this).find("td").remove();
});
var td = "<td height=\"28\" colspan=\"12\"> \n" +
" <a href=\"javascript:cheAll()\" class=\"coolbg\">全选</a>\n" +
"<a href=\"javascript:unCheAll()\" class=\"coolbg\">反选</a> \n" +
"<a href=\"javascript:BatchDel()\" class=\"coolbg\"> 删除 </a>\n" +
"<a href=\"\" class=\"coolbg\"> 导出Excel </a> \n" +
" \n" +
" \n" +
" \n" +
" \n" +
" \n" +
"当前是第" + rs.pageNum + "页\n" +
" \n" +
"<a href=\"javascript:search(1)\" class=\"coolbg\">首页</a>\n" +
" \n" +
"<a href=\"javascript:search(" + rs.prePage + ")\" class=\"coolbg\">上一页</a>\n" +
" \n" +
"<a href=\"javascript:search(" + rs.nextPage + ")\" class=\"coolbg\">下一页</a>\n" +
" \n" +
"<a href=\"javascript:search(" + rs.pages + ")\" class=\"coolbg\">尾页</a>\n" +
" \n" +
"共有" + rs.pages + "页";
$("#mm").append(td);
}
});
};
4.Controller层
@RequestMapping("showAnalysisInfo")
@ResponseBody
public PageInfo<Analysis> showAnalysisInfo(@RequestParam(value = "currentPage",required = false,defaultValue = "1")int pageNum,
@RequestParam(value = "size",required = false,defaultValue = "3")int pageSize,
AnalysisVo vo){
//mybatis分页插件
//pageInfo:分页信息,----数据源----哪一页--每一页的数据量
PageHelper.startPage(pageNum,pageSize);
List<Analysis> list = analysisService.pageList(vo);
PageInfo pageInfo = new PageInfo(list);
return pageInfo;
}
5.service层
@Override
public List<Analysis> pageList(AnalysisVo vo) {
return analysisMapper.pageList(vo);
}
6.mapper层
<resultMap id="newmap" type="com.ujiuye.pro.bean.Analysis" extends="BaseResultMap">
<association property="project" column="id" javaType="com.ujiuye.pro.bean.Project" select="com.ujiuye.pro.mapper.ProjectMapper.selectByPrimaryKey"></association>
</resultMap>
<select id="pageList" resultMap="newmap" parameterType="com.ujiuye.pro.bean.AnalysisVo">
select
<include refid="Base_Column_List"/>
from analysis
<where>
<if test="keyindex == 1">
proname like #{keyCode}
</if>
<if test="keyindex == 2">
title like #{keyCode}
</if>
<if test="num == 1">
order by id
</if>
</where>
</select>