Обнаружение при вставке повторяющихся строк в Java / MyBATIS - PullRequest
3 голосов
/ 25 октября 2011

В настоящее время я использую MyBATIS в своем проекте.

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

Как я могу обнаружить, что исключение SQLException связано с нарушением первичного ключа?

Что-то вроде

try {
    sqlMap.insert(query, params);
} catch (DuplicateKeyException ex) {
    //Do nothing, it's OK for mew
} catch (SQLException ex) {
    throw ex;
}

Полагаю, что конкретного исключения на самом деле не существует ...

1 Ответ

2 голосов
/ 25 октября 2011

SQL не моя сильная сторона, но вы можете посмотреть на код ошибки и коды состояния SQL, содержащиеся в SQLException, которые будут выброшены. Они могут лучше понять, почему запрос не удался.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...