(1)Mybatis-plugin插件
要查找某一个方法,在dao接口中某一个方法中 按住 Ctrl键 鼠标指到方法名称上 选择open xml 就会自动跳转 编辑XML文件时自动补全,自动生成resultMap 安装键盘 alt + / 会弹出提示框
(2)Mybatis-PageHelper分页
1.引入jar包:pageHelper分页插件;jsqlparser分页插件依赖的sql解析jar包(WEB-INF的lib中)
2.配置:mybatis.config.xml
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
</plugin>
</plugins>
3.修改controller和service的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){
PageInfo<User> users = userService.list(pageNum,pageSize,user);
//也可以用返回值类型使modelAndView里面可以带返回值的页面,返回的数据
model.addAttribute("pageInfo", users);
return "user";
}
@Override
public PageInfo<User> list(Integer pageNum,Integer pageSize,User user) {
PageHelper.startPage(pageNum, pageSize);
List<User> list = userDao.list(user);
PageInfo<User> pageInfo = new PageInfo<User>(list);
return pageInfo;
}
4.将user.jsp引入boostrap的分页插件
写分页标签代码
<div style="text-align:right;">
<ul id="pageLimit"></ul>
</div>
<script>
$('#pageLimit').bootstrapPaginator({
currentPage: "${pageInfo.pageNum }",//当前的请求页面。
totalPages: "${pageInfo.pages }",//一共多少页。
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>