본문 바로가기
IT/Java

SQL Builder 클래스

by 성준하이 2023. 4. 23.
반응형

이전 포스팅에서 Mybatis를 이용해서 sql 문을 만드는 과정을 다룬적이 있다.

자세한 내용은 아래 참고 포스팅에 기술 되어있다.

 

원래 SQL 문은 String 으로 기술이 되어있고, 아래 참고 포스팅을 봐도 결국엔 String builder 를 통해서 String 을 Return 해주었다.

 

하지만 상황에 따라서 따옴표나 각종 특수기호 사용, 혹은 코드의 깔끔함과 간결성을 위해서 java에서 제공하는 형식이 있다.

sql builder 클래스이다.

 

기존에는 

 

String sql = """
select name, age
from table
where 1=1
and name = 'name'
and age >10;
"""

 

이런식으로 String 으로 하나로 묶었다고 하면 이 sql문을 아래와 같이 좀 더 간결하게 보여줄수 있다.

 

private String sql() {
  return new SQL() {{
    SELECT("name, age");
    FROM("table");
    WHERE("1=1");
    WHERE("and name = 'name'");
  }}.toString();
}

이런식으로 더 직관적이고 명시적으로 사용이 가능하다.

 

중괄호가 2개인것은 m2 json 형식을 위함이다.

 

위에 사용되지 않은 수많은 메서드 들이 존재하는데 자세한 메서드는 공식 홈페이지에서 확인할수 있다.

 

https://mybatis.org/mybatis-3/ko/statement-builders.html

 

MyBatis – 마이바티스 3 | SQL BUilder 클래스

문제점 자바코드에서 SQL을 작성하는 작업은 자바 개발자를 가장 힘들게 하는 것중 하나이다. 대개는 동적 SQL을 작성해야 하지만 종종 파일이나 저장프로시저에 작성해야 할수도 있다. 이미 본

mybatis.org


참고 포스팅

https://thenicesj.tistory.com/502

 

[mybatis] 자바에서 mybatis

자바 포스팅에 ORM 관련 포스팅이 다수를 이루지만 예전부터 자바 개발을 해온 사람이라면 mybatis가 더욱 친근할 것이다. 이번 포스팅에서는 스프링부트에서 사용하는 @Mapper 를 사용한 mybatis를 다

thenicesj.tistory.com

 

반응형

댓글