2015-11-06 7 views
0

мне нужно использовать запрос, как это:Как использовать предложение WHERE в jdbcTemplateObject?

"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 

У меня есть более одного объекта в БД с тот же id_team, поэтому я понимаю, почему он бросает исключение, но мне нужно некоторое решение, чтобы получить всю запись из БД.

Я думал об использовании его в методе, подобном этому, но я не знаю, как его использовать с параметром «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; 
} 

Любые идеи?

ответ

1

Вы правы, вы должны использовать query. Просто передайте аргумент функции:

List<Team_has_users> members = getJdbcTemplate().query(SQL, new Team_has_usersMapper(), id_team); 

Кстати, вы можете проверить jdbcTemplate javadoc.

Смежные вопросы