반응형

컬럼매핑정의서로 테이블정의서 생성하기



프로젝트 산출물 중에 엔티티목록 및 테이블정의서가 있습니다. ( ※ 참고 : 링크정보 )
컬럼매핑정의서를 이용하여 테이블정의서 산출물을 생성하는 프로그램을 만들어 보려고 합니다.

컬럼매핑정의서에 이미 모든 정보를 포함하고 있기 때문에 간단한 엑셀작업으로도 생성이 가능합니다.
굳이 프로그램까지 필요하지 않지만, 프로젝트 초반에는 META표준용어 작업 등으로 자주 변경이 발생하게 됩니다.
이를 자동화하여 조금이나마 편리하게 산출물을 생성하고자 함입니다.

■ 구조도

  
컬럼매핑정의서를 이용한 테이블정의서 생성


■ SOURCE

  

    public static void main(String[] args) {
        
        // 컬럼매핑정의서의 Index값
            final int 상태 = 23;
            final int 테이블한글명 =  6;
            final int 테이블영문명 =  7;
            final int 컬럼한글명   =  8;
            final int 컬럼영문명   =  9;
            final int 데이터타입   = 10;
            final int 길이_정수    = 11;
            final int 길이_소수    = 12;
            final int PK여부       = 13;
            final int NN허용여부   = 14;
            
        
        // 테이블정의서 결과 출력용
        ArrayList<ArrayList<String>> arr2TblDef = new ArrayList<ArrayList<String>>();  
        
        // 컬럼매핑정의서 READ
        ArrayList<ArrayList<String>> arr2AT = TxtFile.readArr2AT( "C:/workspace/컬럼매핑정의서/컬럼매핑정의서.dat" );  
        
        
        ///////////////////////////////
        // 테이블정의서 생성
        ///////////////////////////////
        
        for( int i = 0; i < arr2AT.size(); i++ ) {
            
            ArrayList<String> arrRow = arr2AT.get( i );
            
            if( arrRow.get( 상태 ).contains( "삭제" ) ) continue;  // 컬럼의 상태(23)가 [삭제]이면 SKIP. 
            
            // 테이블정의서의 ROW
            ArrayList<String> arrTblDef = new ArrayList<String>();
            
            arrTblDef.add( arrRow.get( 테이블한글명 ) );  // 테이블한글명
            arrTblDef.add( arrRow.get( 테이블영문명 ) );  // 테이블영문명
            arrTblDef.add( arrRow.get( 컬럼한글명   ) );  // 컬럼한글명
            arrTblDef.add( arrRow.get( 컬럼영문명   ) );  // 컬럼영문명
            arrTblDef.add( arrRow.get( 데이터타입   ) );  // 데이터타입
            arrTblDef.add( arrRow.get( 길이_정수    ) );  // 길이(정수)
            arrTblDef.add( arrRow.get( 길이_소수    ) );  // 길이(소수)
            arrTblDef.add( arrRow.get( PK여부       ) );  // PK여부
            arrTblDef.add( arrRow.get( NN허용여부   ) );  // Not Null 허용여부
            
            arr2TblDef.add( arrTblDef );
        }
        
        
        ///////////////////////////////
        // 엑셀문서로 출력
        ///////////////////////////////
        
        // 엑셀문서 Title
        String strTitle = "테이블한글명, 테이블영문명, 컬럼한글명, 컬럼영문명, "
                        + "데이터타입, 길이(정수), 길이(소수), PK여부, Not Null 허용여부";
        
        // 출력함수 호출
        XlsFile.writeArr2( "C:/workspace/테이블정의서/테이블정의서", strTitle, arr2TblDef );
    }


※ 참고
    - 링크 ☞ 테이블정의서

끝.

 

반응형