Object -> XML 문자열 변환
아주 간단하게 처리 된다.

import java.io.StringWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.betwixt.io.BeanWriter;

public class WriteExampleApp {

    public static final void main(String [] args) throws Exception {

        StringWriter outputWriter = new StringWriter();

        outputWriter.write("");

        BeanWriter beanWriter = new BeanWriter(outputWriter);

        // Bean 속성 으로 값 출력 여부
        beanWriter.getXMLIntrospector().getConfiguration().setAttributesForPrimitives(true);
        // 아이디 출력 여부
        beanWriter.getBindingConfiguration().setMapIDs(false);
        // 정렬
        beanWriter.enablePrettyPrint();

        List list1 = new ArrayList();
        list1.add(new PersonBean("hk", 20));
        list1.add(new PersonBean("dk", 20));

        Map map = null;
        List list2 = new ArrayList();

        map = new HashMap();
        map.put("name", "hk");
        map.put("age", "20");
        list2.add( map );

        map = new HashMap();
        map.put("name", "dk");
        map.put("age", "20");
        list2.add( map );

        beanWriter.write("list1", list1);
        beanWriter.write("list2", list2);

        System.out.println(outputWriter.toString());

        outputWriter.close();
    }
}

[참조] http://commons.apache.org/betwixt/guide/examples.html

ORACLE VARCHAR2 --> CLOB 로 바꾸는 방법....

 

-- 옮기기위한 테이블과 옮길 테이블 그리고 중간 단계를 거칠 테이블을 생성한다.

테이블 정보

TEST_TBL  :  ( 옮기기 위한 테이블) 원본

    USERID   VARCHAR2(20) ,

    CONTENT  VARCHAR2(40000)


TEST_TBL_LONG  :  (CLOB로 바꾸기 위하여 중간에 거치는 테이블)

    USERID  VARCHAR(20),

    CONTENT  LONG


TEST_TML_CLOB  :  (마지막으로 바꿀 테이블)

    USERID  VARCHAR(20),

    CONTENT  CLOB


예를 들어 위와 같은 테이블을 만들어 테스트를 해볼수 있다.


일반 VARCHAR2 에서 CLOB로 바로 옮길수는 없다. LONG 형에서 CLOB로 옮길수는 있다.

바로TO_LOB를 쓰면 LONG 에서 CLOB로 바꿀수 있다.


단 , 여기서 바꾸거나, 바뀌는 모든 테이블이 모두 같은 수의 컬럼과 순서를 가지고 있다.


1. 바꾸고 싶은 원본 테이블을 LONG 으로 바꾸어 주어야 한다.

INSERT INTO TEST_TBL_LONG
    SELECT USERID , CONTENT FROM TEST_TBL
 
 
2. LONG으로 바꾼 테이블을 CLOB로 바꾼다. 이때 TO_LOB를 사용한다.
INSERT INTO TEST_TBL_LONG
   SELECT USERID ,TO_LOB(CONTENT) FROM TEST_TBL_LONG


이렇게 하면 비교적 손쉽게 VARCHAR2 를 CLOB로 바꿀수 있다.



+ Recent posts