본문 바로가기
IT/Java

SQL Format Style

by 성준하이 2024. 6. 6.
반응형

자바에서 SQL을 화면에 보여주거나 출력을 하는데,

저장해둔 값이나 특별한 설정에 따라

엔터가 두번 들어가던가, 들여쓰기가 안맞는 이상한 상황이 발생한다.

 

그럴경우엔 

import org.hibernate.engine.jdbc.internal.FormatStyle;

에서 제공하는 기능을 사용하면 된다.

 

기본 문법은 아래와 같다.

FormatStyle.BASIC.getFormatter().format(sqlText);

 

사용 예시는 아래 이미지와 같다.

String sqlA = """
SELECT *
FROM TABLE
WHERE               a=1

;
""";
System.out.println(sqlA);

String sqlB = FormatStyle.BASIC.getFormatter().format(sqlA);
System.out.println(sqlB);

우선 sqlA 를 보면 줄바꿈이 두개도 있고, 불필요한 공백도 있다.

 

FormatStyle을 적용시킨 sqlB도 있다.

둘의 결과는 아래와 같다.

sqlA SELECT *
FROM TABLE
WHERE               a=1


;
sqlB     SELECT
        * 
    FROM
        TABLE; 
    WHERE
        a=1  ; 

 

A는 있는 그대로 보이고

B는 정형화된 공백으로 출력이 되서 

 

python의 pprint기능과 비슷한 느낌이다.(참고 포스팅 참고)


참고 포스팅

https://thenicesj.tistory.com/316

 

PPRINT

제목만 보고 오타인줄 알수도 있지만 이 pprint 에 대해 얘기해보려고 한다. 파이선에서 제공해주는 라이브러리 중에 pprint 라는 라이브러리가 있다. pretty print 의 약자로 좀더 깔끔하게 출력을 해

thenicesj.tistory.com

 

반응형

댓글