java的PreparedStatement分页问题

来源:互联网 发布:淘宝上什么假货最多 编辑:程序博客网 时间:2024/06/05 09:11

今天写一个接口遇到了关于取到的数据分页问题

百度一圈最后选择了PreparedStatement的分页
贴代码

    private List<Map<String,Object>> Pagination(String sql, int pageNo){        final String sqlBuilder = sql;        final int page_size = PaginationFinal.numberPageShow;        final int start = (pageNo-1)*page_size;        return jdbcTemplate.query(new PreparedStatementCreator(){            @Override            public PreparedStatement createPreparedStatement(Connection con) throws SQLException {                return con.prepareStatement(sqlBuilder, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);            }        }, new ResultSetExtractor<List<Map<String,Object>>>() {            @Override            public List<Map<String,Object>> extractData(ResultSet resultSet) throws SQLException, DataAccessException {                if (start > 0 ) {                    resultSet.absolute(start);                }                List<Map<String,Object>> list = Lists.newArrayListWithCapacity(page_size);                HashMap<String, Object> map;                int i = 1;                while (i <= page_size&&resultSet.next()) {                    map = new HashMap<String, Object>();                    map.put("zh_label",resultSet.getString("zh_label"));                    map.put("project_no",resultSet.getString("project_no"));                    map.put("state",resultSet.getString("states"));                    map.put("progress",resultSet.getString("progress"));                    i++;                    list.add(map);                }                return list;            }

我做的是一个接口返回的是数据
结果:
这里写图片描述
这里写图片描述

0 0