SSM 项目分页实现:详细步骤及代码示例

在 SSM 项目中进行分页可以采用如下步骤:

  1. 在 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";
    }
}
  1. 在 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);
    }
}
  1. 在 Dao 层中编写查询所有用户的方法,并使用 MyBatis 的分页插件进行查询。
@Mapper
public interface UserDao {
    
    List<User> getUserList();
}
  1. 在页面上使用分页数据进行展示。
<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 的分页插件,需要在项目中进行相应的配置。

更多内容,请访问:

希望本文对你有所帮助!

SSM 项目分页实现:详细步骤及代码示例

原文地址: https://www.cveoy.top/t/topic/lvE2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录