Eclipse Modeling Framework Technology(EMFT) Java Emitter 템플리트(JET)를 작성하여 사용자 정의 코드 생성

워크벤치는 pureQuery 코드 생성 시 EMFT JET 템플리트를 사용합니다. 이 디폴트 JET 변환은 사용자가 설정한 값으로 겹쳐쓸 수 있습니다.

이 태스크 정보

워크벤치의 디폴트 JET 변환을 겹쳐써서 pureQuery 코드를 생성하는 경우, EMFT JET 프로젝트를 작성하고 템플리트를 작성한 후 JET 변환을 사용하도록 워크벤치에 지시하는 작업이 포함됩니다.

중요사항: JET 변환에 대한 입력 모델로 사용할 XML 문서는 작성하지 않아도 됩니다. 사용자 정의 pureQuery 코드를 생성하면 마법사에서 코드가 기반하는 오브젝트에 기반하여 XML을 자동으로 작성합니다. 이 XML은 임시 항목으로 저장되지 않습니다.
그러나 사용자도 마법사가 작성하는 XML 형식은 알고 있어야 합니다. 이 스키마는 com.ibm.datatools.javatool.transform.codegen 플러그인에 있습니다. 이 스키마에 기반한 다음 XML 문서 샘플을 참조할 수도 있습니다.

사용자 정의 코드를 생성하는 경우 겹쳐쓸 템플리트에 대응하는 pureQuery 코드 생성 마법사를 사용합니다. 예를 들어, GenTableBean.jet 템플리트를 겹쳐쓰는 경우 테이블에서 pureQuery 코드 생성 마법사 또는 다중 테이블에서 pureQuery 코드 생성 마법사를 사용하여 사용자 정의 코드를 생성할 수 있습니다.

EMFT JET(현재 M2T(Model-To-Text) JET라고도 함)에 대한 정보를 보려면 www.eclipse.org를 방문하십시오.

프로시저

EMFT JET 템플리트를 작성 및 구성하여 pureQuery 코드의 사용자 정의 코드를 생성하려면 다음을 수행하십시오.

  1. EMFT JET 변환 프로젝트를 작성하십시오. 패키지 탐색기를 마우스 오른쪽 단추로 누르고 새로 작성 > 프로젝트를 선택하십시오. 새 프로젝트 마법사에서 EMFT JET 변환 > EMFT JET 변환 프로젝트를 선택하십시오.
  2. 프로젝트의 manifest.mf 파일을 편집하십시오. 이 파일에서 pureQuery의 디폴트 변환을 겹쳐쓰도록 지정해야 합니다.

    DBHelper 클래스(변환시 필요한 데이터베이스 연결에 대한 정보를 얻는 com.ibm.datatools.javatool.transform.codegen 플러그인에 있는 클래스)를 사용하는 경우 Manifest 파일에서 com.ibm.datatools.javatool.transform.codegen 플러그인에 대한 종속성 하나를 포함하도록 지정해야 합니다. 이 클래스의 문서는 이 플러그인에 있습니다.

    1. 프로젝트의 manifest.mf 파일을 편집할 수 있도록 파일을 더블 클릭하여 여십시오.
    2. 확장 탭을 누르십시오.
    3. 모두 확장 필드에서 org.eclipse.jet.transform을 펼치고 (transform)을 선택하십시오.
    4. 겹쳐쓰기 필드에 com.ibm.datatools.javatool.transform.codegen을 입력하십시오.
    5. 옵션: DBHelper 클래스를 사용하는 경우 종속성 탭을 누르고 필수 플러그인으로 com.ibm.datatools.javatool.transform.codegen 플러그인을 추가하십시오.
    6. 파일을 저장한 후 닫으십시오.
  3. EMFT JET 변환 프로젝트에서 dump.jet 파일을 삭제하십시오. 변환시 com.ibm.datatools.javatool.transform.codegen 변환의 main.jet 파일을 사용하려는 경우 main.jet 파일을 삭제할 수도 있습니다.
  4. EMFT JET 변환 프로젝트의 templates 디렉토리에서 com.ibm.datatools.javatool.transform.codegen 변환의 템플리트를 겹쳐쓰는 템플리트를 작성하십시오. pureQuery 디폴트 템플리트 중 하나를 겹쳐쓰려면 이름이 같은 템플리트 하나를 작성하십시오. 디폴트 템플리트를 겹쳐쓰지 않으면 대응하는 pureQuery 코드를 생성할 때 워크벤치는 이 템플리트를 계속 사용합니다.

    다음 테이블에서는 해당 변환에 있는 템플리트를 보여줍니다.

    표 1. com.ibm.datatools.javatool.transform.codegen 변환의 템플리트
    템플리트 이름 지원되는 DBMS 설명
    GenProcedureHandler.jet Oracle Oracle 데이터베이스와 충돌하는 스토어드 프로시저에서 코드를 생성할 때 사용됩니다.
    GenProcedureInlineJunit.jet
    • Linux®, UNIX® 및 Windows®용 DB2®
    • z/OS®용 DB2
    • Informix® Dynamic Server
    • Oracle
    스토어드 프로시저에서 pureQuery 코드 생성 마법사에서 인라인 스타일에 대한 테스트 클래스 생성 체크 박스 및 JUnit 테스트 클래스 생성 체크 박스를 모두 선택한 경우에 사용됩니다.

    해당 스토어드 프로시저를 호출하는 인라인 메소드를 포함하는 JUnit 테스트 케이스를 생성합니다.

    GenProcedureInlineSample.jet
    • Linux, UNIX 및 Windows용 DB2
    • z/OS용 DB2
    • Informix Dynamic Server
    • Oracle
    스토어드 프로시저에서 pureQuery 코드 생성 마법사에서 인라인 스타일에 대한 테스트 클래스 생성 체크 박스를 선택한 경우에 사용됩니다.

    해당 스토어드 프로시저를 호출하는 인라인 메소드를 포함하는 Java™ 테스트 클래스를 생성합니다.

    GenProcedureInterface.jet
    • Linux, UNIX 및 Windows용 DB2
    • z/OS용 DB2
    • Informix Dynamic Server
    • Oracle
    스토어드 프로시저에서 pureQuery 코드 생성 마법사에서 스토어드 프로시저에 대한 Java 인터페이스 생성 체크 박스를 선택한 경우에 사용됩니다.

    해당 스토어드 프로시저를 호출하는 어노테이션이 있는 메소드를 포함하는 Java 인터페이스를 생성합니다.

    GenProcedureInterfaceJunit.jet
    • Linux, UNIX 및 Windows용 DB2
    • z/OS용 DB2
    • Informix Dynamic Server
    • Oracle
    스토어드 프로시저에서 pureQuery 코드 생성 마법사에서 스토어드 프로시저에 대한 Java 인터페이스 생성 체크 박스, 스토어드 프로시저에 대한 Java 인터페이스의 테스트 클래스 생성 체크 박스 및 JUnit 테스트 클래스 생성 체크 박스를 선택한 경우에 사용됩니다.

    해당 스토어드 프로시저를 호출하는 어노테이션이 있는 메소드를 포함하는 JUnit 테스트 케이스를 생성합니다.

    GenProcedureInterfaceTest.jet
    • Linux, UNIX 및 Windows용 DB2
    • z/OS용 DB2
    • Informix Dynamic Server
    • Oracle
    스토어드 프로시저에서 pureQuery 코드 생성 마법사에서 스토어드 프로시저에 대한 Java 인터페이스 생성 체크 박스 및 스토어드 프로시저에 대한 Java 인터페이스의 테스트 클래스 생성 체크 박스를 모두 선택한 경우에 사용됩니다.

    해당 인터페이스 구현을 테스트하는 테스트 클래스를 생성합니다.

    GenProcedureParmBean.jet
    • Linux, UNIX 및 Windows용 DB2
    • z/OS용 DB2
    • Informix Dynamic Server
    • Oracle
    스토어드 프로시저에서 pureQuery 코드 생성 마법사에서 처리된 스토어드 프로시저가 매개변수를 포함하는 경우에 사용됩니다.

    스토어드 프로시저의 매개변수를 나타내는 등록정보를 포함하는 Bean을 생성합니다.

    GenSampleUtil.jet
    • Linux, UNIX 및 Windows용 DB2
    • z/OS용 DB2
    • Informix Dynamic Server
    • Oracle

    테스트 클래스를 실행할 때 테스트 클래스에서 호출하는 정적 메소드를 포함하는 클래스를 생성합니다. 이러한 메소드는 테스트 클래스 실행 결과를 콘솔 보기에 보여줍니다.

    이 클래스는 테스트 클래스에 대한 데이터베이스 연결을 설정하는 코드도 포함합니다.

    GenSQLBean.jet
    • Linux, UNIX 및 Windows용 DB2
    • z/OS용 DB2
    • Informix Dynamic Server
    • Oracle
    SQL문에서 pureQuery 코드 생성 또는 다중 SQL문에서 pureQuery 코드 생성 마법사에서 완료를 누르는 경우에 사용됩니다.

    처리 중인 SQL문 또는 다중 SQL문의 유형을 기반으로 한 pureQuery 코드를 생성합니다.

    GenTableBean.jet
    • Linux, UNIX 및 Windows용 DB2
    • z/OS용 DB2
    • Informix Dynamic Server
    • Oracle
    테이블에서 pureQuery 코드 생성 마법사 또는 다중 테이블에서 pureQuery 코드 생성 마법사에서 Bean을 생성한 경우에 사용됩니다.

    테이블 또는 뷰의 컬럼을 나타내는 특성을 포함하는 Bean을 생성합니다.

    GenTableInlineJunit.jet
    • Linux, UNIX 및 Windows용 DB2
    • z/OS용 DB2
    • Informix Dynamic Server
    • Oracle
    테이블에서 pureQuery 코드 생성 마법사 또는 다중 테이블에서 pureQuery 코드 생성 마법사에서 인라인 스타일에 대한 테스트 클래스 생성 체크 박스 및 JUnit 테스트 클래스 생성 체크 박스를 모두 선택한 경우에 사용됩니다.

    해당 데이터베이스 오브젝트에 액세스하는 인라인 메소드를 포함하는 JUnit 테스트 케이스를 생성합니다.

    GenTableInlineSample.jet
    • Linux, UNIX 및 Windows용 DB2
    • z/OS용 DB2
    • Informix Dynamic Server
    • Oracle
    테이블에서 pureQuery 코드 생성 마법사 또는 다중 테이블에서 pureQuery 코드 생성 마법사에서 인라인 스타일에 대한 테스트 클래스 생성 체크 박스를 선택한 경우에 사용됩니다.

    해당 데이터베이스 오브젝트에 액세스하는 인라인 메소드를 포함하는 Java 테스트 클래스를 생성합니다.

    GenTableInterface.jet
    • Linux, UNIX 및 Windows용 DB2
    • z/OS용 DB2
    • Informix Dynamic Server
    • Oracle
    테이블에서 pureQuery 코드 생성 마법사 또는 다중 테이블에서 pureQuery 코드 생성 마법사에서 테이블의 어노테이션이 있는 메소드 인터페이스 생성 체크 박스를 선택한 경우에 사용됩니다.

    해당 데이터베이스 오브젝트에 액세스하는 어노테이션이 있는 메소드를 포함하는 Java 인터페이스를 생성합니다.

    GenTableInterfaceJUnit.jet
    • Linux, UNIX 및 Windows용 DB2
    • z/OS용 DB2
    • Informix Dynamic Server
    • Oracle
    테이블에서 pureQuery 코드 생성 마법사 또는 다중 테이블에서 pureQuery 코드 생성 마법사에서 테이블의 어노테이션이 있는 메소드 인터페이스 생성 체크 박스, 테이블의 어노테이션이 있는 메소드 인터페이스의 테스트 클래스 생성 체크 박스 및 JUnit 테스트 클래스 체크 박스를 선택한 경우에 사용됩니다.

    해당 인터페이스 구현을 테스트하는 JUnit 테스트 케이스를 생성합니다.

    GenTableInterfaceTest.jet
    • Linux, UNIX 및 Windows용 DB2
    • z/OS용 DB2
    • Informix Dynamic Server
    • Oracle
    테이블에서 pureQuery 코드 생성 마법사 또는 다중 테이블에서 pureQuery 코드 생성 마법사에서 테이블에 대한 Java 인터페이스 생성 체크 박스 및 테이블에 대한 Java 인터페이스의 테스트 클래스 생성 체크 박스를 모두 선택한 경우에 사용됩니다.

    해당 인터페이스 구현을 테스트하는 테스트 클래스를 생성합니다.

  5. pureQuery 변환 환경 설정 페이지에서 워크벤치가 사용해야 하는 변환을 지정하십시오.
    1. > 환경 설정을 선택하십시오.
    2. 데이터 관리 > SQL 개발 > pureQuery > 변환을 선택하십시오.
    3. 변환 ID 필드에서 EMFT JET 변환 프로젝트 이름을 선택하십시오.

예는 pureQuery JET 템플리트의 입력으로 사용되는 샘플 XML 문서를 설명합니다.


피드백