Case1. 쿼리저장 클래스를 이용한 적재

Study/Java 2018. 11. 18. 10:56 Posted by meanoflife
반응형

쿼리의 항목정보를 저장할 수 있는 클래스를 생성하고, 

파싱한 쿼리를 새로 생성한 클래스를 이용하여 관리하도록 변경하겠습니다.



■ 쿼리저장 클래스 생성



새로운 클래스 QueryStructure를 만들었습니다.

맴버변수로 항목을 관리할 수 있는 3개의 객체를 선언하였습니다.


① 항목유형코드 : 일반 쿼리의 항목인지, 아니면 하위 쿼리를 포함한 항목인지를 구분하는 코드입니다.

② 데이터 : 쿼리의 내용이 저장되는 변수입니다.

③ 하위쿼리 : 항목에 하위쿼리가 존재할 경우, 하위 쿼리를 파싱한 QueryStructure객체를 저장하는 변수입니다.


맴버변수의 데이터를 정재 및 사용하기 위해 getter과 setter를 생성하였습니다.



■ 파싱쿼리 항목 저장코딩 수정


기 작성된 코딩은 HashMap<String, ArrayList<String>>형태로 저장이 되었습니다.

ArrayList에 단순희 파싱된 '데이터'만 적재하는 형태 였는데, 데이터 값만으로는 하위쿼리를 처리하기 힘들었습니다.


다음과 같이 기 작성된 코딩을 QueryStructure클래스를 통해 정하도록 변경하겠습니다.




ArrayList<QueryStructure>객체를 이용하여 위와 같이 각 항목을 저장합니다.

예시는 SELECT의 항목만을 저장하고 있으나, FROM절과 WHERE절도 위와 같이 수정합니다.


끝.



반응형