728x90
반응형
java.sql.SQLSyntaxErrorException:
Table 'BINSOO_TABLE_1103' doesn't exist
지금 하고 있는 프로젝트 중에서 관리하는 데이터가 너무 많아서
유동적으로 SEQ 마다 테이블이 생성되는 구조를 가진 프로젝트를 짜고 있었다.
SELECT * FROM BINSOO_TABLE_#{SEQ} 이렇게 연결이 되어야 하는데
만약에 존재하지 않는 테이블명이라면 ?
물론 위에 처럼 로직을 세우려면 꼭 SEQ 마다 TABLE 이 존재해야겠지만
정말 혹시나 하는 상황에는 아래처럼 에러 메세지를 이용하는 방법도 존재한다.
public List<BinsooVo> selectBinsooData( BinsooVo vo ) {
List<BinsooVo> voList = null;
try {
voList = SqlSession.selectList( "selectBinsooData", vo);
} catch (Exception e) {
// 존재 하지 않는 테이블 명이 있을 경우를 대비해서 만든 로직.
String errorMsg = e.toString();
if( errorMsg.contains("Table") && errorMsg.contains("doesn't exist") ) {
throw new Exception();
}
}
return voList;
}
추천하는 방법은 아니지만 SQLSyntaxErrorException 에서
테이블명이 없을 때 발생하는 에러를 딱히 지원해주지 않기 때문이다.
728x90
반응형
'개발중 > sql' 카테고리의 다른 글
MYSQL 설치 삽질 기록 (0) | 2021.07.04 |
---|---|
MY SQL ERROR - my.ini 위치 / 수정 (0) | 2021.07.04 |
mysql 권한이 있는지 확인하는 경우 (0) | 2021.06.22 |
My sql Like 여러개 : ) (0) | 2021.05.27 |
SQL 삽질 기록 : ( (0) | 2021.05.20 |