데이터베이스 조회 결과를markdown 형식 표로 신속하게 생성

데이터베이스 관련 블로그를 쓸 때 결과집을 페이지에 전시해야 한다.그림을 쓰는 것은 정말 번거롭다. 한 문장도 다 쓰지 못했는데 나는 이미 더 이상 참을 수가 없다.그래서 기본적인 마크 다운 양식 표 코드를 만들기 위해 코드를 썼다.
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.LinkedHashMap;
import java.util.List;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;

import connTest.conn.SqlmapFactory;
/**
 * 
 * @author nayi224
 *
 */
public class MarkDown {

    private static SqlMapClient client = null;
    private static String configFile = "config/SqlMapConfig.xml";
    private static Reader r = null;

    static {
        try {
            r = Resources.getResourceAsReader(configFile);
            client = SqlMapClientBuilder.buildSqlMapClient(r);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * @param args
     * @throws SQLException 
     */
    public static void main(String[] args) throws SQLException {
        // TODO Auto-generated method stub
        List l2 = client.queryForList("blog.test");
        System.out.println("\r\r");
        prt(l2);
    }

    private static void prt(List list){
        if(list == null || list.size() == 0) return;
        LinkedHashMap temp = list.get(0);

        String str = "|";
        for(Object obj: temp.keySet()){
            str += obj + "|";
        }
        str += "\r|";
        for(Object obj: temp.keySet()){
            str += "----|";
        }

        for(LinkedHashMap tempMap: list){
            str += "\r|";
            for(Object obj: tempMap.keySet()){
                str += (tempMap.get(obj) == null ? "" : tempMap.get(obj)) + "|";
            }
        }

        System.out.println(str);
    }

}

생성 데이터 예
|DEPT_ID|PARENT_ID|DEPT_NAME|DEPT_RANK|VAL|
|----|----|----|----|----|
|root||  |/root|0|
|root_1|root|   |/root/root_1|2000|
|ln_root|root|   |/root/ln_root|200|
|ln_ys|ln_root|      |/root/ln_root/ln_ys|1000|
|ln_sy_hp|ln_ys|        |/root/ln_root/ln_ys/ln_sy_hp|500|
|ln_ys_dd|ln_ys|        |/root/ln_root/ln_ys/ln_ys_dd|600|
|jl_root|root|   |/root/jl_root|0|
|jl_jl|jl_root|      |/root/jl_root/jl_jl|200|
|jl_cc|jl_root|      |/root/jl_root/jl_cc|500|

마침내 강박증이 재발하는 것을 두려워하지 않고 한 장의 그림을 n번이나 캡처했다.

좋은 웹페이지 즐겨찾기