SSM 项目分页实现:详细步骤及代码示例
SSM 项目分页实现:详细步骤及代码示例
在 SSM 项目中进行分页可以采用如下步骤:
- 在 Controller 层中定义一个分页方法,接收分页参数(页码、每页数量),并调用 Service 层的方法进行分页查询。
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/list")
public String userList(@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize,
Model model) {
PageInfo<User> pageInfo = userService.getUserList(pageNum, pageSize);
model.addAttribute("pageInfo", pageInfo);
return "userList";
}
}
- 在 Service 层中调用 Dao 层的方法进行查询,并使用 PageHelper 插件进行分页处理。将查询结果封装到 PageInfo 对象中,然后返回给 Controller 层。
@Service
public class UserService {
@Autowired
private UserDao userDao;
public PageInfo<User> getUserList(Integer pageNum, Integer pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<User> userList = userDao.getUserList();
return new PageInfo<>(userList);
}
}
- 在 Dao 层中编写查询所有用户的方法,并使用 MyBatis 的分页插件进行查询。
@Mapper
public interface UserDao {
List<User> getUserList();
}
- 在页面上使用分页数据进行展示。
<table>
<tr>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
</tr>
<c:forEach items='${pageInfo.list}' var='user'>
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
<td>${user.age}</td>
</tr>
</c:forEach>
</table>
<div>
<a href='?pageNum=1'>首页</a>
<a href='?pageNum=${pageInfo.prePage}'>上一页</a>
<span>${pageInfo.pageNum}/${pageInfo.pages}</span>
<a href='?pageNum=${pageInfo.nextPage}'>下一页</a>
<a href='?pageNum=${pageInfo.pages}'>尾页</a>
</div>
以上就是在 SSM 项目中进行分页的基本步骤。需要注意的是,分页功能需要依赖 PageHelper 插件和 MyBatis 的分页插件,需要在项目中进行相应的配置。
更多内容,请访问:
希望本文对你有所帮助!
原文地址: https://www.cveoy.top/t/topic/lvE2 著作权归作者所有。请勿转载和采集!