Java

첫 프로젝트 시작! - 시스템관리 세팅 (개발환경세팅, 파일, DB 이관-INSERT문 SELECT하기)

Pearl_mini 2022. 7. 30. 13:24
728x90

첫 프로젝트를 시작했다.

프로젝트를 시작하면 보통 가장 낮은 경력자가 기본 시스템관리쪽 세팅을 한다고 한다. 그래서 초반 화면설계나 요구사항정리, 테이블정의서 작성하는 기간 동안 먼저 시스템관리를 세팅하게 되었다.

전체적인 프로세스를 아래와 같이 정리해봤다.

  1. 개발환경 세팅
  2. 프로젝트 생성
  3. 파일 이관 (필요 시 기존 소스 참고)
  4. DB 세팅
  5. 데이터 이관
  6. 테스트

우선 개발환경 세팅을 해야한다. 

jdk 설치 및 library path 세팅, Eclipse 설치를 해야한다. 부가적으로 DB safer, svn 세팅 등이 필요했다. 가이드에 맞춰서 세팅을 하고 시작하면 된다.

프로젝트 파일을 생성하고, Spring, Maven , Server 세팅을 해주어야 한다. 

참고할 프로젝트 파일을 Checkout 받은 뒤에 에러메시지가 많이 발생하는 경우 해결방법이 여러가지 있다.

우선 메시지가 jar 파일이 없다 와 같은 내용일 경우에 Maven > Update Project를 먼저 해준다.

그러면 pom.xml에 설정된 필요한 jar 파일들이 repository에 저장이 되어야 하는데, 그래도 에러메시지가 사라지는 듯 다시 생긴다. 그런 경우에는 Run As > Maven > Install을 해주고, 그래도 다운로드가 안된다면 (나의 경우에는 보안때문에 다운로드할 수 없었다) 프로젝트 파일에 Zip 파일로 친절하게 jar 파일들을 넣어놓았어서 그 파일들을 직접 repository에 저장해주었다. 그러고 Setting에서 update를 해주면 에러메시지가 사라진다!

서버 세팅시에는 주의하여야 할 점이, 서버에 세팅된 port 번호가 화면소스에서 svcurl port번호와 일치하는 지도 확인하여야 한다. 

기본적으로 프로젝트 파일을 만들고 나면 이제 기존소스를 참고하여 소스 이관을 할 것인데, 이 때 옮길 소스들을 먼저 목록정리를 한 후에 진행하는 것이 좋다. 그리고 혹시나 파일 경로 등 중분류가 변경된다던지 하면 파일소스명도 어떻게 변경할 지 mapping 파일을 만들어 놓아야 내용 파악도 쉽고, 나중에 기초 데이터 이관을 할 때도 mapping 내용을 활용할 수 있어서 편하고 빨라진다.

DB도 기존 소스를 참고한다면 기존 프로젝트의 테이블 정의서를 참고하여 테이블정의서를 만들고 그에따른 테이블을 생성해주면 된다. 보통은 함수, 프로시저, 시퀀스도 함께 생성해주면 좋긴 하지만 시퀀스 같은 경우에는 기초데이터를 이관하고 나면 시퀀스하게 올라가는 코드id 등이 달라지고 빼먹을 수 있기 때문에 먼저 테이블생성만 한 뒤, 데이터를 옮기고나서 서 나머지를 생성하도록 진행했다.

DB에서 기본 adm 계정외에 필요시 다른 계정(was 혹은 eai)에도 테이블, 시퀀스, 함수, 프로시저에 권한을 부여해주어야 한다.
보통 시스템관리쪽은 was에 권한을 부여해주면 된다. eai계정은 외부에서 접속하는 경우이기 때문에 시스템관리쪽에는 권한이 필요없는 경우가 대부분이고 필요하다하더라도 조회권한 정도만 필요하니 그때 부여해주면 된다.

기초데이터 이관이 필요한 테이블에 대해서 또 목록정리를 하고 어떤 데이터들을 옮길 지 우선 select 문을 작성하고 이 조회된 데이터를 한번에 쿼리문으로 뽑을 수 있도록 스크립트를 작성해놓았다. 차후에 다음 프로젝트를 진행하면서 시스템관리를 또 세팅할 때 이 스크립트문을 활용하면 속도가 훨씬 빨라질 것 같다.  예를들면 하기와 같이 첫 줄 SELECT 문을 작성해서 데이터를 확인해 본 뒤, 아예 INSERT문으로 출력될 수 있도록 데이터 조회를 하는 것이다.

SELECT * FROM 참고ADM.TB_COMM_CD

SELECT 'INSERT INTO 이관ADM.TB_COMM_CD (컬럼1, 컬럼2) VALUES (''' || 컬럼1 || ''',''' || 컬럼2 || ''');'
  FROM ( SELECT * 참고ADM.FROM TB_COMM_CD );

우선 여기까지 정리! 다음 과정도 저장해놓고 다음 프로젝트 진행할 때 확인하면서 진행해야겠다.

728x90