Jdbc возвращает пустой список, но SQL-запрос успешно получает данные [Spring] - PullRequest
0 голосов
/ 03 мая 2018

Я пытаюсь выполнить этот запрос:

@Override
public UserInfo get(Long id) {
    String sql = "SELECT * FROM users WHERE id = ? ";
    List<UserInfo> list = jdbcTemplate.query(sql,new UserInfoMapper(),id);
    return list.get(0);
}

но jdbc возвращает пустой список, и я получаю исключение в строке возврата. Но если попытаться выполнить напрямую через консоль, она вернется: Запрос, Ответ

Запрос был выполнен с идентификатором 1 и восстановлен правильный ответ; Но в методе возвращается this

Я не мог найти такие же вопросы, чтобы это могло указывать на мое невнимание к чему-либо. Но я не вижу никаких проблем, которые могут вызвать это. Заранее спасибо;

Обновлено 1 Изменение кода на

@Override
public UserInfo get(Long id) {
    String sql = "SELECT * FROM users WHERE id = ? ";
    List<UserInfo> list = jdbcTemplate.query(sql, new Object[] {id},new UserInfoMapper());
    return list.get(0);
}

привело к тому же: результат Обновлено 2

@Override
public UserInfo mapRow(ResultSet resultSet, int i) throws SQLException {
    UserInfo info = new UserInfo();
    info.setId(resultSet.getLong("id"));
    info.setFirstname(resultSet.getString("firstname"));
    info.setMiddlename(resultSet.getString("middlename"));
    info.setLastname(resultSet.getString("lastname"));
    info.setUsername(resultSet.getString("username"));
    info.setPassword(resultSet.getString("password"));
    info.setEmail(resultSet.getString("email"));
    info.setMobilephone(resultSet.getString("mobilephone"));
    info.setPosition(resultSet.getString("position"));
    return info;
}
public class UserInfo {
    private Long id;
    private String firstname;
    private String middlename;
    private String lastname;
    private String username;
    private String password;
    private String email;
    private String mobilephone;
    private String position;

    public UserInfo() {
    }
}

Геттер и сеттеры для каждого поля есть, но я думаю, что нет необходимости показывать их.

...