1、先要安装Mybatis插件
在userDao里加入代码 mybatis plugin插件快捷键Alt+/
<resultMap type="com.zq.model.User" id="userMap">
<result property="id" column="id" /><!-- column是数据库自带的名字 property是java里自带的属性名 -->
<result property="username" column="user_name" />
<result property="pwd" column="user_pwd" /><!-- mybatis plugin插件快捷键Alt+/ -->
<result property="realname" column="realname" />
<result property="grade" column="grade" />
<result property="total" column="total" />
<result property="account" column="account" />
</resultMap>
2、将resultType="user"改为resultMap=“userMap”
<select id="list" parameterType="user" resultMap="userMap">
select * from user
<include refid="sqlWhere" />
</select>
3、实现分页功能
在Mybatis-config中加入
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
</plugin>
</plugins>
userController中将list的代码更改
@RequestMapping("/list.do")
public String list(User user,Model model,
@RequestParam(required=true,value="pageNum",defaultValue="1") Integer pageNum,
@RequestParam(required=true,value="pageSize",defaultValue="3") Integer pageSize){
//如果不用RequestParam,需要手动判断参数是否为空
//if(pageNum==null)
//pageNum=1;
//跳转user.jsp页面,model参数是用来往前台传参数
PageInfo<User> users = userService.list(pageNum,pageSize, user);
//也可以用返回值类型是ModelAndView:这里面可带返回的页面,返回的数据
model.addAttribute("pageInfo",users);
return "user";
}
注意在user.jsp中还要将users改为pageInfo.list
在地址栏中输入 localhost:8080/shop/user/list.do?pageNum=1就可以查看
4、运用js实现分页
引用js(老师给的)
<script src="${ctx }/js/bootstrap-paginator.min.js" type="text/javascript"></script>
在user.jsp插入代码
<div style="text-align:right;">
<ul id="pageLimit"></ul>
</div>
<script>
$('#pageLimit').bootstrapPaginator({
currentPage: "${pageInfo.pageNum }",//当前的请求页面。
totalPages: "${pageInfo.pages }",//一共多少页。
size:"normal",//应该是页码大小,默认是正常 normal small larger
// size:"small",//应该是页眉的大小。
bootstrapMajorVersion: 3,//bootstrap的版本要求。
numberOfPages:"${pageInfo.pageSize }",//一页列出多少数据。
itemTexts: function (type, page, current) {//如下的代码是将页眉显示的中文显示我们自定义的中文。
switch (type) {
case "first": return "首页";
case "prev": return "上一页";
case "next": return "下一页";
case "last": return "末页";
case "page": return page;
}
},
onPageClicked:function(event,originalEvent,type,page){//分页按钮点击事件
// var zhanghao = $("#searchrole").val(); //这是搜索时的参数,根据实际情况加或者不要
var url = '${ctx}/user/list.do?pageNum=' + page;
//如果查询条件不为空,
//url = url + '&username=' + 'zq';
window.location.href = encodeURI(url);
}
});
</script>
代码运行截图 第二页的
5、导入老师给的,在lib里创建一个新的文件夹temp
实现在temp文件生成代码,并将其拷贝