在使用 SSM (Spring + Spring MVC + Mybatis) 框架开发 Java Web 应用时,分页查询是一个常用的功能。
以下是实现分页查询的完整步骤:
- 创建分页查询的 SQL 语句。通常,我们会使用 MySQL 的 LIMIT 关键字来实现分页查询,例如:
SELECT * FROM users LIMIT (page - 1) * pageSize, pageSize;
其中,page 表示当前页码,pageSize 表示每页的记录数。
- 在 Mybatis 的 Mapper 接口中,添加分页查询的方法。例如:
List<User>selectUsersByPage(@Param("page") int page, @Param("pageSize") int pageSize);
- 在 Mybatis 的 Mapper XML 文件中,为分页查询的方法添加映射语句。例如:
<select id="selectUsersByPage" resultType="com.example.User">
SELECT * FROM users LIMIT #{page} - 1 * #{pageSize}, #{pageSize}
</select>
- 在 Service 层中,调用 Mapper 接口的分页查询方法,并返回结果。例如:
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> getUsersByPage(int page, int pageSize) {
return userMapper.selectUsersByPage(page, pageSize);
}
}
- 在 Controller 层中,调用 Service 层的分页查询方法,并将结果返回给前端。例如:
```java @Controller public class UserController { @Autowired private UserService userService;
@RequestMapping("/users") public String getUsers(Model model, @RequestParam(value = "page", defaultValue = "1") int page, @RequestParam(value = "pageSize", defaultValue = "10") int page