2012-06-05 5 views
1

나는 ibatis 매핑 파일에 많은 수의 데이터베이스 호출이있는 레거시 코드로 작업하고 있습니다. ibatis 매핑을 Java 클래스 파일에 다시 연결하거나 Java에서 호출하지 않는 매핑을보다 정확하게 찾으려고합니다.Java에서 호출되는 Ibatis 프로 시저 확인

목적은 매핑 파일에서 호출을 제거하고 데이터베이스에서 프로 시저를 제거하는 것입니다.

지금 당장 매핑 파일을 구문 분석하고 각 프로 시저의 Java ID를 가져온 다음 Java 클래스 파일에서 호출 할 위치를 검색합니다.

누군가 이전에이 작업을 수행 했습니까? 아니면 누군가이 문제를 해결할 더 좋은 방법을 볼 수 있습니까?

+0

매핑 파일을 구문 분석하면 무엇을 의미합니까? 당신은 그것을 열어 텍스트 파일에 붙여 넣기 한 다음 Ctrl + H로 이클립스 작업 공간에서 하나씩 검색하여 모든 ID를 가져온다는 것을 의미합니까? – GingerHead

+0

글쎄, 나는 미래의 릴리스 이후에 다시 실행될 수 있도록 프로세스를 자동화하려고했다. 그래서 나는 매핑 파일을 읽는 스크립트를 가질 것입니다 - 프로 시저 ()를 눌렀을 때 프로 시저 ID를 선택하기 위해 id 등의 문자열을 분해합니다. 그런 다음 매핑 소스 파일을 제외하고 Java 소스 디렉토리를 grep 할 수 있습니다. 찾을 수없는 경우 parameterId를 호출하고 프로 시저를 호출합니다. –

답변

2

당신은 다음을 수행 할 수 있습니다

  • 모든 ID를 가져오고 파일에 그들을 계속 (또는에서

    1. 검색 모든 iBatis 구성 파일 :

      작은 자바 프로그램을 작성 컬렉션)

    2. (지속성 패키지 이름으로 시작하는) 지속성 레벨의 모든 .java 파일을 검색합니다.
    3. 어떤 지속성 클래스에 사용 된 ID는 매우 쉽게 모든 ID를 발견하고 자신의 구성 파일 이름

    하지 (파일로)가 인쇄됩니다 끝에

  • (컬렉션/파일)을 제거 이런 식의 프로그램을 작성하려면 최대 15 분이 걸리고 며칠을 절약 할 수 있습니다.

  • +0

    감사합니다. @Mike Myers - 저는 두 단계를 하나로 생각하고 불필요하게 프로세스를 복잡하게 만들 생각이었습니다. 이것은 그것을 단순화하고 더 가독성있게 만들 것입니다. –

    +1

    나는 재귀 적으로 ibatis 파일을 찾고, 프로 시저를 추출한 다음 재귀 적으로 프로 시저에 대한 java 파일을 확인하고, 발견 된 경우 프로 시저를 목록에서 제거하기 위해 Java 프로그램을 모았다. 필자가 궁금해하는 유일한 점은 실제로 패턴이 좋은지 아닌지입니다. 오히려 데이터 집약적이지만 스크립트를 사용하거나 grep 또는 Java 내부의 파일을 사용하여 파일을 찾지 않고도 더 나은 옵션을 보지 못합니다. –