Getting Started

본 장에서는 Anyframe Query Manager를 설치하는 방법 및 사용자 인터페이스, 환경설정 등에 대해 알아본다.

Installing Query Manager

Installation

Anyframe Query Manager는 압축파일로 배포되며, 다음과 같은 순서에 의하여 설치한다.

  1. Anyframe Query Manager를 설치하기 위한 System Requirements 를 확인한다.

  2. Anyframe Query Manager의 최신 배포판을 http://www.anyframejava.org/download/tools/anyframe/querymanager 에서 확인한다.

  3. Anyframe Query Manager의 최신 배포판("anyframe.querymanager.eclipse_x.x.x-bin.zip")을 사용자의 컴퓨터에 내려받는다.

  4. 내려받은 최신 배포판의 압축을 원하는 폴더에 푼다.

  5. 압축을 풀어서 나온 플러그인 패키지 파일("anyframe.querymanager.eclipse_x.x.x.jar")을 "[eclipse 설치 폴더]/dropins/anyframe/eclipse/plugins"나 "[eclipse 설치 폴더]/plugins", 혹은 "[eclipse 설치 폴더]/addins/anyframe/eclipse/plugins"로 이동시킨다.

    ☞ "addins" 폴더에 설치할 때에는 별도의 link 파일 정의가 필요하다. (eg. "[eclipse 설치 폴더]/links/anyframe.link")

  6. Eclipse가 실행중이라면 다시 시작시킨다.

  7. "About Eclipse Platform (또는 About Eclipse SDK) > Plug-in Details"를 통해 정상적으로 설치되었는 지 확인한다.

    ☞ About Eclipse Platform (또는 About Eclipse SDK) 메뉴는 Windows용 Eclipse의 경우 Help 메뉴에서, Mac OS X용 Eclipse의 경우 Eclipse 메뉴에서 확인할 수 있다.

  8. Anyframe Query Manager의 설치가 완료되었다.

Upgrade from the Previous Version

Anyframe DBIO 1.2.x 또는 Anyframe Query Manager 1.3.x 이전 버전에서 Anyframe Query Manager 2.0.0 이상 버전으로 업그레이드를 할 경우에는 다음과 같은 순서를 따른다.

  1. Eclipse SQL Explorer 3.x.x 버전 제거: "[eclipse 폴더]/addins/[Eclipse SQL Explorer 설치 폴더]"를 삭제한 후, 3.5 RC5 또는 RC6 버전을 설치한다.

    ☞ Eclipse SQL Explorer 3.5 RC6는 RC6 및 RC6-P3를 설치해야 하며, 패키지 구성의 오류로 인하여 Eclipse의 Software Updates 기능을 이용하여 설치하는 것을 권장한다.

  2. Anyframe Common 2.0.0 이상 버전 설치: "[eclipse 폴더]/addins/anyframe/eclipse/plugins/"의 "anyframe.plugins.common_1.0.0.jar" 또는 1.1.x, 1.2.0 버전의 jar 파일을 삭제한 후, 3.0.0 이상 버전("anyframe.common.eclipse_x.x.x.jar"의 형태로 파일명칭이 변경되었다.)을 설치한다.

    ☞ Anyframe Common 2.0.0 이상부터는 Anyframe Tools 플러그인들에서 공통적으로 사용하는 라이브러리들을 Anyframe Common에서 포함하며, 각 플러그인들은 Anyframe Common을 의존하는 것으로 의존성을 정비하였다.

  3. Anyframe Query Manager 최신 버전 설치: "[eclipse 폴더]/addins/anyframe/eclipse/plugins/"의 "anyframe.plugins.dbio_1.x.x.jar" 파일 또는 "anyframe.plugins.querymanager_1.3.x.jar" 파일을 삭제한 후, 최신 버전을 설치한다.

System Requirements

  • Anyframe Query Manager 요구사항

    Anyframe Query Manager 2.0.0 이상 버전의 경우, Anyframe Tools 설치환경에 추가하여 다음과 같은 요구사항을 충족해야 한다.

    Eclipse IDE for Java EE Developers (Europa/Ganymede/Galileo)
    Anyframe Common 3.0.0 or above
    Eclipse SQL Explorer 3.5 (RC5 or RC6)
  • Ecipse IDE for Java EE Developers 이외의 Package를 사용할 경우

    Eclipse IDE for Java EE Devlopers 패키지는 다른 패키지에 비하여 개발자에게 유용한 다양한 플러그인을 포함하고 있으며, Anyframe을 활용한 개발을 위하여 권장하는 패키지이다. 다만, 필요에 의하여 이외의 Eclipse IDE 패키지에 Anyframe Query Manager를 설치, 사용하고자 한다면 다음의 플러그인 의존관계(Plug-ins Dependencies)를 확인하여, 해당 플러그인을 설치한 후 Anyframe Query Manager를 설치, 사용한다.

    org.eclipse.ui
    org.eclipse.core.runtime
    org.eclipse.core.resources
    org.eclipse.ui.views
    org.eclipse.ui.ide
    org.eclipse.ui.editors
    org.eclipse.ui.workbench.texteditor
    org.eclipse.jface.text
    org.eclipse.jdt.ui
    org.eclipse.jdt.core
    org.eclipse.wst.xml.ui
    org.eclipse.wst.xml.core
    org.eclipse.wst.sse.core
    org.eclipse.wst.sse.ui
    org.eclipse.search
    net.sourceforge.sqlexplorer
    org.eclipse.core.filesystem
    anyframe.common.eclipse

Query Manager Perspective

Query Manager Perspective 는 Anyframe Query Manager의 활용에 기본적으로 필요한 각종 View와 Editor를 구성하여 보여주며, 다음 그림의 모습과 유사한 형태를 띈다.

Query Manager의 주요 구성화면은 다음과 같다.

  • Query Navigator View: 사용자의 Eclipse 프로젝트 전체에 대하여 Query의 검색 및 조회 기능 제공

  • Query Results View: Query 테스트 시 결과값 출력

  • Query Manager Editor: Query 맵핑 XML 파일을 작성하는 편집기

  • Connections View: Eclipse SQL Explorer의 확장 기능으로, 데이터베이스 연결 설정 및 해당 연결 관리

  • Database Structure View: Eclipse SQL Explorer의 확장 기능으로, 데이터베이스 구조 파악 기능을 제공

Anyframe Query Manager의 Query Manager Perspective는 "Window > Open Perspective > Other..." 또는 Eclipse 창의 우상단에 위치한 "Open Perspective" 아이콘을 통해 열 수 있다.

Connections View and Database Structure View

Connections View

Connections View는 사용자가 DBMS의 특정 데이터베이스에 연결할 수 있는 커넥션 프로파일을 생성할 수 있게 하며, 해당 커넥션을 생성하고 관리할 수 있게 한다. 새 로운 커넥션 프로파일을 생성하려면 Connections View에서 Context Menu를 통해 "New Connection Profile..."을 선택한 후, 필요한 정보를 입력한다. 사용자의 환경에 따라 Eclipse 환경설정에서 JDBC 드라이버를 설정("Preferences > SQL Explorer > JDBC Drivers")할 필요가 있을 수 있다.

또한, 사용자는 Query 맵핑 XML 파일에 실제 Query를 작성하기 전에, SQL Editor를 통하여 해당 Query를 테스트할 수 있다. SQL Editor는 데이터베이스 커넥션이 생성될 때 자동으로 열리며, SQL Editor를 닫았거나 추가적으로 더 열려면 해당 커넥션에 대한 Context Menu에서 "New SQL Editor"를 선택한다.

Database Structure View

Database Structure View는 사용자가 연결한 데이터베이스 커넥션에 대한 데이터베이스의 구조를 트리 형태로 보여준다.

Anyframe Query Manager는 Database Structure View에서 Table Mapping 정보를 생성할 수 있는 방법을 제공하며, 해당 기능은 Database Structure View에서 원하는 테이블을 찾아 Context Menu의 "Generate Table Mapping"을 선택함으로써 실행시킬 수 있다.

Query Navigator View

Query Navigator View 열기

Query Navigator View는 사용자들이 원하는 Query를 검색하고 조회할 수 있는 기능을 제공한다. Query Navigator View는 Anyframe Query Manager Perspective를 열면 자동으로 뜨며, 다음과 같은 방법으로도 열 수 있다.

  • Eclipse 메뉴를 통해서 열기

    "Window > Show View > Other..."에서 Query Navigator 선택

  • Context Menu를 통해서 열기

    Query Editor에서 Context Menu의 "Search Queries" 선택

Query Navigator View 구성

Query Navigator View는 다음과 같은 요소들로 구성되어 있다.

  • 검색창 및 검색버튼

    검색창에 검색을 원하는 Query의 ID를 입력한 후 검색버튼("Search")을 누르면 해당하는 Query가 검색되며, 빈칸인 채로 검색을 실시하면 모든 Query가 검색된다.

    Query Navigator의 Query 검색범위는 사용자의 Eclipse workspace 내의 모든 프로젝트이다.

  • 리셋버튼

    리셋버튼("Clear")으로 검색창의 검색어 및 검색결과창의 모든 정보를 깨끗하게 비울 수 있다. 검색창의 검색어의 경우, Delete 키 혹은 Backspace 키 등으로 삭제하고 다시 쓸 수도 있다.

  • 고급검색버튼

    고급검색기능은 해당버튼("More")을 클릭하여 실행시킬 수 있으며, 다양한 검색조건을 Any(OR 조건) 또는 All(AND 조건)으로 조합하여 검색할 수 있다.

    고급검색기능을 통하여 조합할 수 있는 검색조건은 다음과 같다.

    • Name: Query ID에 대하여 해당 문자열을 기준으로 검색한다.

    • Contents: Query statement에 대하여 해당 문자열을 기준으로 검색한다.

    • Author: Query의 작성자를 기준으로 검색한다. (본 기능은 Query 맵핑 XML 파일의 주석정보를 이용하며, Query Wizard를 통하여 작성한 Query의 경우 기본적으로 해당 주석문이 추가된다.)

    • Last modified date: Query의 최종변경일을 기준으로 검색한다. (본 기능은 Query 맵핑 XML 파일의 주석정보를 이용하며, Query Wizard를 통하여 작성한 Query의 경우 기본적으로 해당 주석문이 추가된다.)

    • Create date: Query의 최초작성일을 기준으로 검색한다. (본 기능은 Query 맵핑 XML 파일의 주석정보를 이용하며, Query Wizard를 통하여 작성한 Query의 경우 기본적으로 해당 주석문이 추가된다.)

    위에서 언급한 "Query 맵핑 XML 파일의 주석정보"에 대한 보다 자세한 내용은 "Query Wizard가 생성하는 주석정보"를 참고한다.

  • 검색결과창

    검색결과는 Query Navigator의 하단 검색결과창(Query Search View)에 나타나며, Query문 등의 길이가 길어서 결과창에 모두 표시되지 않더라도, 마우스를 해당 결과에 위치시키면 Tooltip 창을 통해 전체 텍스트를 볼 수 있다.

Query Results View

Query Results View 열기

Query Results View는 Query Wizard를 통한 Query 작성 시 수행한 Query 테스트의 결과를 표시하는 기능을 제공한다. Query Results View는 다음과 같은 방법으로 열 수 있다.

  • "Window > Show View > Other..."에서 Query Results 선택

Query Results View 활용

Query Results View는 Query Wizard를 통한 Query 작성 시 수행하는 Query 테스트 결과가 표시되므로, 사용의 편리성을 위해서는 Query Wizard 실행 시 Wizard 창에 가리지 않는 적절한 위치에 해당 View를 배치하고 활용하는 것을 권장한다.

Query Manager Editor

Query Manager Editor는 Query 맵핑 XML 파일을 Anyframe Query Manager Perspective에서 열 때 기본적으로 사용하는 에디터로, Query Wizard 및 수작업으로 Query를 추가, 변경, 삭제할 수 있도록 하는 기능을 제공한다. 원하는 Query 맵핑 XML 파일을 Query Manager Editor를 통하여 열기 위해서는 해당 파일의 Context Menu에서 "Open With > Query Manager Editor"를 선택한다.

Query Manager Editor는 Design 탭과 Source 탭의 두가지 표시방법을 제공한다.

  • Design 탭

    Query 맵핑 XML 파일의 구조적인 형태를 그리드를 통하여 표시해 준다. Context Menu를 통해 Query의 추가/변경/삭제, Query 검색 및 특정 어트리뷰트 등을 추가할 수 있다.

  • Source 탭

    Query 맵핑 XML 파일의 XML 태그를 소스형태로 표시한다. Context Menu를 통해 Query의 추가/변경을 위한 Query Wizard 실행 및 Query 검색, Java 클래스 네비게이션 등을 수행할 수 있다. 또한, 숙련된 사용자를 위해 Query 맵핑 XML 파일에서 사용이 가능한 각종 태그를 Content Assist 를 통해 제공함으로써 빠르고 편리한 파일 편집을 도와준다.

Preferences

Anyframe Query Manager의 환경설정은 Eclipse Preferences 창을 통해 수행한다. 환경설정에서 정의한 접두사(prefix) 및 접미사(suffix)는 Anyframe Query Manager가 AbstractDAO를 상속받은 DAO에 대하여 Content Assist 를 정상적으로 수행할 수 있도록 하는데 사용된다.

환경설정을 통해 저장된 정보는 AbstractDAO에서 정의한 Query 및 VO(Value Object) 등의 접두사(prefix) 및 접미사(suffix)를 특정 개발환경에서 사용자화한 내용을 반영해야 한다. 참고로, "접두사(prefix) 및 접미사(suffix)에 대한 사용자화"는 AbstractDAO에 대한 bean 설정을 통해 이루어지며, 이를 활용하기 위해 사용자는 다른 코드의 수정없이 Anyframe Query Manager의 환경설정창을 통해 해당 내용을 반영할 수 있다.