我需要使用这样的查询:
"select * from Team_has_users where Teams_id_team = ?";
如果我称这种方法:
public Team_has_users listTeamMembers(int id_team) {
String SQL = "select * from Team_has_users where Teams_id_team = ?";
Team_has_users members = jdbcTemplateObject.queryForObject(SQL, new Object[] { id_team },
new Team_has_usersMapper());
return members;
}
我得到例外:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.dao.IncorrectResultSizeDataAccessException: Incorrect result size: expected 1, actual 2
我在DB中有多个具有相同id_team的对象,所以我明白,为什么它会抛出异常,但我需要一些解决方案来从DB获取所有记录。
我想过在这样的方法中使用它,但我不知道如何使用参数“id_team”。
public List<Team_has_users> listTeamMembers(int id_team) {
String SQL = "select * from Team_has_users where Teams_id_team = ?";
List<Team_has_users> members = jdbcTemplateObject.query(SQL, new Team_has_usersMapper());
return members;
}
有什么想法吗?
答案 0 :(得分:1)
你是对的,你必须使用query
。只需将参数传递给函数:
List<Team_has_users> members = getJdbcTemplate().query(SQL, new Team_has_usersMapper(), id_team);
顺便说一下,您可以查看jdbcTemplate javadoc。