- ClassNotFoundException 또는 NoClassDefFoundError:
- 이유: 필요한 JDBC 드라이버 클래스를 찾을 수 없음.
- 예시: JDBC 드라이버를 프로젝트의 클래스패스에 추가하지 않은 경우.
- SQLException: Communications link failure:
- 이유: 데이터베이스 서버와의 연결이 끊겼거나 연결을 설정할 수 없음.
- 예시: 데이터베이스 서버 주소 또는 포트가 올바르지 않거나, 네트워크 문제.
- SQLSyntaxErrorException: Table or view not found:
- 이유: SQL 쿼리에서 참조하는 테이블이나 뷰가 존재하지 않음.
- 예시: MyBatis 매퍼 XML 파일에서 잘못된 테이블 이름을 참조하는 경우.
- DataAccessException: Data truncation:
- 이유: 데이터가 테이블의 컬럼 크기를 초과하거나 유효하지 않은 형식으로 입력됨.
- 예시: 문자열이 컬럼의 최대 길이를 초과하는 경우.
- MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
- 이유: MyBatis에서의 일반적인 예외. SQL 예외의 상위 예외.
- 예시: MyBatis가 데이터베이스와 상호 작용하면서 발생한 다양한 SQL 예외.
- CannotGetJdbcConnectionException: Could not get JDBC Connection:
- 이유: 데이터베이스에 연결할 수 없음.
- 예시: 데이터베이스 로그인 정보가 올바르지 않은 경우.
- org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction:
- 이유: 트랜잭션을 시작할 수 없음.
- 예시: 데이터베이스 연결이 올바르게 설정되지 않은 경우.
- NullPointerException:
- TypeMismatchException:
- NumberFormatException:
- ArrayIndexOutOfBoundsException:
- ClassCastException:
- 이유: 클래스 간 형변환이 잘못된 경우 발생합니다.
- 예시:
Object obj = "Hello";
Integer number = (Integer) obj; // ClassCastException 발생