Ошибка Java Конструктор по умолчанию не может обработать исключение типа SQLException, выданное неявным супер-конструктором. Должен определить явный конструктор - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь установить jdbc-соединение при весенней загрузке, но получаю ошибку java

"Конструктор по умолчанию не может обработать тип исключения SQLException неявным супер-конструктором. Необходимо определить явный конструктор. "

Вот объект подключения, который получает ошибку.

Connection con = jdbcTemplate.getDataSource().getConnection();

Ниже приведен код, в котором я пытаюсь использовать объект con.

private String queryBuilder(DetailsRequest request, Map<String, String> headers) throws SQLException {

    StringBuilder AcctNameBuilder= new StringBuilder();
final String QUERY = "select * " +  "from gfc.LSI_ELGBLTY " + "where INSURANCE_ID = ? and " + "SYS_CD = ? and " + "ACCT_TYPE in (?)";
                prSt = con.prepareStatement(QUERY);
                prSt.setString(1, request.getInsuranceId());
                prSt.setString(2, request.getSystemId());
                prSt.setString(3, AcctNameBuilder.toString());
                rs = prSt.executeQuery();
                System.out.println(rs);
}

1 Ответ

0 голосов
/ 17 сентября 2018

Относительно оригинальной реализации getConnection:

Connection getConnection() throws SQLException;

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

В качестве быстрого / грязного обходного пути вы можете:

  • оборачивая его в оператор try catch
  • или просто заставьте конструктор сгенерировать SQLException .

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

...