jdbc2以后不用特意指定哪两个参数就可以使用滚动结果集了,跟spring没有什么关系。

解决方案 »

  1.   

    请问我如何在spring中实现ResultSet的
    public boolean absolute(int row)
    public boolean first()
    public boolean last()我希望能够定位到具体的行数,
      

  2.   

    不好意思,这几天不在网上,回复晚了,呵呵
    下面是从spring reference上摘录的一段例子,你可以参考一下:
    先定义mappingSQL〉
    private class CustomerMappingQuery extends MappingSqlQuery {
    public CustomerMappingQuery(DataSource ds) {
    super(ds, "SELECT id, name FROM customer WHERE id = ?");
    super.declareParameter(new SqlParameter("id", Types.INTEGER));
    compile();
    }
    public Object mapRow(ResultSet rs, int rowNumber) throws SQLException {
    Customer cust = new Customer();
    cust.setId((Integer) rs.getObject("id"));
    cust.setName(rs.getString("name"));
    return cust;
    }
    }//在这个mapRow方法里面你就可以实现你的操作了,通过提供的rs参数第二步就是使用它〉
    public Customer getCustomer(Integer id) {
    CustomerMappingQuery custQry = new CustomerMappingQuery(dataSource);
    Object[] parms = new Object[1];
    parms[0] = id;
    List customers = custQry.execute(parms);
    if (customers.size() > 0)
    return (Customer) customers.get(0);
    else
    return null;
    }---------------------------------------------
    希望这个能够解答你的疑惑。
      

  3.   

    感谢 DarrenWang(达伦) 的回答execute方法返回的是sql语句的全部查询结果
    现在我希望能够做一个分页,因此需要根据行号返回结果集的一部分,请问应该怎么做呢?例如sql语句的查询结果中共有100条记录,我希望返回第11~20行
      

  4.   

    Spring中的ModelAndView默认将所有的记录都绑定到表现层页面上了,于是我们一般都是在表现层利用displayTag来做分页处理的。例如:
    <display:setProperty name="paging.banner.onepage" value=""/>
    具体的可以查看一下displayTag的文档。
      

  5.   

    如果做分野的话,可以照楼上所说,用displayTag处理,这样你可以省去很多麻烦,呵呵