SSM框架+layui+PageHelper实现分页的步骤,所用到的jar包可以到mvnrepository中下载:
目录
1.导入分页jar包:pagehelper-5.1.11.jar和jsqlparser-3.1.jar;
2.在util包中的ConstantUtil类中添加,使用的gson-2.8.0.jar解析JSON
3.在UserMapper.xml中添加SQL语句,查询所有用户信息 ,并在 UserMapper.java添加对应接口
4.在mybatis-config.xml配置文件中配置分页插件编辑
5.在UserInfoService接口中添加查询接口,并且在实现类实现此方法
7.在表示层user_list.jsp中开启表格的分页功能即可(page:true)编辑
项目结构如下,需自行搭建SSM框架:
1.导入分页jar包:pagehelper-5.1.11.jar和jsqlparser-3.1.jar;
2.在util包中的ConstantUtil类中添加,使用的gson-2.8.0.jar解析JSON
public class ConstantUtil {
public final static String PREFIX = "{\"code\":0,\"msg\":\"\",\"count\":";
public final static String DATA = ",\"data\":";
public final static String SUFFIX = "}";
/**
* 生成layer解析的json格式
* @param List泛型集合
* @return 符合layer解析标准的json格式
*/
public static String getLayerJson(List<?> list) {
Gson gson = new Gson();
return PREFIX + String.valueOf(list.size()) + DATA
+ gson.toJson(list) + SUFFIX;
}
}
3.在UserMapper.xml中添加SQL语句,查询所有用户信息 ,并在 UserMapper.java添加对应接口
<resultMap type="User" id="UserInfo">
<id column="user_id" property="id"/>
<result column="user_account" property="account"/>
<result column="password" property="password"/>
<result column="user_state" property="state"/>
</resultMap>
<select id="findAllUsers" resultMap="UserInfo">
select * from user
</select>
4.在mybatis-config.xml配置文件中配置分页插件
5.在UserInfoService接口中添加查询接口,并且在实现类实现此方法
/**
* 获取用户分页列表
* @param pageIndex 当前页码
* @param pageSize 每页最大数据个数
* @return 当前页码的用户记录
*/
public PageInfo<User> findAllUsers(int pageIndex, int pageSize);
@Override
public PageInfo<User> findAllUsers(int pageIndex, int pageSize) {
PageHelper.startPage(pageIndex, pageSize);//拦截功能,返回当前页pagesize条数据
List<User> list = mapper.findAllUsers();
PageInfo<User> pageInfo = new PageInfo<>(list);
return pageInfo;
}
6.在UserInfoController类中添加方法
/**
* 分页方法,请求参数由laypager传递
* @param page 当前页码(pageIndex)
* @param limit 每页最大数据个数(pageSize)
* @return 分页数据,符合layui表格绑定要求的JSON格式字符串
*/
@RequestMapping("/findUserByPage")
@ResponseBody
public Map<String, Object> findUserByPage(int page, int limit) {
Map<String, Object> map=new HashMap();
PageInfo<User> pageInfo=service.findAllUsers(page,limit);
map.put("code", 0);
map.put("msg", "success");//提示信息
map.put("count", pageInfo.getTotal());
map.put("data", pageInfo.getList());
return map;
}