Не могу сделать UPDATE jdbc
проблема заключается с обновлением данных:
Есть запрос insert, плюс метод который генерирует рандомный первичный ключ uuid :
public void insert(Client obj) {
obj.setId(UUID.randomUUID());
String sql = "INSERT INTO Client (id,name,surname,middleName,insurancePolicy,phoneNumber) VALUES (?,?,?,?,?,?)";
sqlCommand(obj, sql);
}
Есть запрос на update:
@Override
public void update(Client obj) {
String sql = "UPDATE Client Set name = ? , surname = ? ,middleName = ? , insurancePolicy =?, phoneNumber = ?, WHERE id=" + obj.getId() + ";";
sqlCommandR(obj, sql);
}
Запрос выполнения в который падают все добавления и обновления. но проблема в том, что когда делаю update, то в методе sqlCommand записывается getId(), но он уже есть в update и должен остаться старым. В общем когда обновляю запрос получаю:
NullPointerException на строке метода sqlCommand: preparedStatement.setObject(1, obj.getId());
private void sqlCommand(Client obj, String sql) {
try {
PreparedStatement preparedStatement = BaseConnect.preparedStatement(sql);
preparedStatement.setObject(1, obj.getId());
preparedStatement.setString(2, obj.getName());
preparedStatement.setString(3, obj.getSurname());
preparedStatement.setString(4, obj.getMiddleName());
preparedStatement.setLong(5, obj.getInsurancePolicy());
preparedStatement.setLong(6, obj.getPhoneNumber());
preparedStatement.execute();
preparedStatement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
Не могу понять в чем причина...