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/i85I 著作权归作者所有。请勿转载和采集!