日期:2014-05-18  浏览次数:20723 次

SPRING JDBC问题
      在利用Spring JDBC查询数据列表的时候,返回的数据量总比实际数据量少一条(貌似第一条数据未查询到),代码如下

final String sql="SELECT * FROM  TB_PROJECT_SHEET " ; 
String idS="'4028819e442b295501442b2bfd550002','4028819e442decc801442df4ef3f0004'" ;
//1.  以Spring JDBC的方式
       List<Projects> list=(List<Projects>) jdbcTemplate.queryForObject(sql,new RowMapper(){
@Override
public Object mapRow(ResultSet rs, int i) throws SQLException {
        List<Projects> list=new ArrayList<Projects>() ;
        while(rs.next()){
         Projects project=new Projects() ;
         project.setId(rs.getString("id")) ;
         project.setProjName(rs.getString("projname")) ;
         list.add(project) ;
        }
return  list;
}
}) ;

使用纯正的JDBC查询,查询数据量没有问题,请问原因是啥子
------解决方案--------------------
Projects project = new Projects();
project.setId(rs.getString("id"));
project.setProjName(rs.getString("projname"));
return project;

你把mapRow的方法体写成这样看行不,不要在里面返回list