Как создать метод используя JDBC

248
22 декабря 2017, 01:48

Привет. Пытаюсь написать метод updateUser с помощью которого можно менять все данные в таблице SQL. Мой Query выглядит так

String updateValue = "update users_Alana set name = :name, gender = :gender, age = :age where id = :id";

Метод так

public static User updateUser(NamedParameterJdbcTemplate jdbcTemplate, int id){
        User user = new User();
        SqlParameterSource p2 = new MapSqlParameterSource("id", Integer.valueOf(id));
        user.setAge(5);
        user.setGender("m");
        user.setName("Bartek");
        return jdbcTemplate.queryForObject(updateValue, p2,new UserMapper());
    }

И еще мой userMapper выглядит так private static class UserMapper implements

RowMapper<User> {
        @Nullable
        public User mapRow(ResultSet resultSet, int i) throws SQLException {
            User user = new User();
            user.setId(resultSet.getInt("id"));
            user.setName(resultSet.getString("name"));
            user.setGender(resultSet.getString("gender"));
            user.setAge(resultSet.getInt("age"));
            return user;
        }
    }

Метод должен выводить измененную линию. Когда пытаюсь скомпилировать то выдает кучу ошибок. Как исправить данный метод? Спасибо

Answer 1

Надо положить все нужные для запроса поля объекта в MapSqlParameterSource.

Либо используйте BeanPropertySqlParameterSource

В Вашем случае

MapSqlParameterSource p2 = new MapSqlParameterSource();

а дальше добавлять параметры запроса через p2.addValue

READ ALSO
Путь к выбранному файлу из JList

Путь к выбранному файлу из JList

Есть список JList отображающий файлы определенного диска на компеВыбираю определенный файл или папку

203
При вызове onclick приложение крашиться

При вызове onclick приложение крашиться

Я использую библиотеку Zxing для распознавания QR кодов и она работает по android:onClick="scan", но если я нажимаю android:onClick="arch": - ошибка - приложение остановлено,...

239
Задача по Java, принципы ООП

Задача по Java, принципы ООП

У меня такая задача:

228
CURRENT_TIMESTAMP в long

CURRENT_TIMESTAMP в long

К примеру есть дата, которая была сделана с помощью CURRENT_TIMESTAMP в mysql -> String date = "2017-12-20 16:49:31"; Мне нужно её преобразовать в то, из чего можно вытащить...

235