我有一个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可能有多个帐户,我想将它们作为列表返回。为什么这个抛出空?任何帮助将不胜感激。