为什么这个SpringJdbc返回null?

时间:2016-03-21 00:57:01

标签: spring jdbc null dto

我有一个DTO课程

public class A {
    private String Name;
    private int Id;
    private long superId;

    //Getters and setters omitted
}

包装类

public class B {
    private A account;
    private List<A> underlyingAccounts;

    //Getters and setters omitted
}

现在我有DAO类使用springJdbc运行存储过程,并带有superId参数。我单独从SQL_STATEMENT查询中获取它。

@Repository
public class DaoImpl implements Dao {
    @Autowired
    private JdbcTemplate jdbcTemplate;

    public String getSuperId(){
        return jdbcTemplate.queryForObject(SQL_STATEMENT, String.class);            
    }

    public B getStandAloneAccountInfo(String id) {
        B infoModel = new B();

        SimpleJdbcCall simpleJdbcCall = new SimpleJdbcCall(jdbcTemplate
                    .getDataSource()).withProcedureName("getAccountInfo");

        SqlParameterSource parameterSource = new MapSqlParameterSource().addValue("superId", getSuperId());

        simpleJdbcCall.returningResultSet("parameterResult", new RowMapper() {
            public A mapRow(ResultSet resultSet, int rowNum) throws SQLException {
                A account = new A();
                account.setName(resultSet.getString("Name"));
                account.setId(resultSet.getInt("ID"));
                return account;
            }
        });
        Map<String, Object> map = simpleJdbcCall.execute(parameterSource);
        List<B> result = (List<B>) map.get("parameterResult");

        return infoModel ;
    }
}

我的问题是如何将帐户作为模型类的包装返回。我使用包装器,因为一些id可能有多个帐户,我想将它们作为列表返回。为什么这个抛出空?任何帮助将不胜感激。

0 个答案:

没有答案