JdbcTemplate可以很容易地进行分页查询,主要步骤如下:
1、 确定分页参数:
- pageNum:页码,从1开始
- pageSize:每页条数
2、 计算查询的起始索引和结束索引:
- startIndex = (pageNum – 1) * pageSize
- endIndex = pageNum * pageSize
3、 构造SQL语句带有LIMIT子句:
SELECT * FROM user LIMIT startIndex, pageSize
4、 执行查询操作并返回结果:
int pageNum = 2; // 第2页
int pageSize = 10; // 每页10条
int startIndex = (pageNum - 1) * pageSize; // 10
int endIndex = pageNum * pageSize; // 20
String sql = "SELECT * FROM user LIMIT ?, ?";
List<User> users = jdbcTemplate.query(sql,
new Object[] {startIndex, pageSize},
(rs, rowNum) -> new User(rs.getInt("id"), rs.getString("name"))
);
以上示例就是一个简单的分页查询操作,主要步骤如下:
- 接收前端传入的页码pageNum和每页条数pageSize
- 计算每页的起始索引startIndex和结束索引endIndex
- 构造带有LIMIT子句的SQL语句,传入startIndex和pageSize参数绑定
- 执行查询并返回结果
这样就可以轻松实现数据库的分页查询功能。因为底层使用的还是JdbcTemplate,所以也支持参数绑定、自定义返回结果类型等功能。