이전 포스팅에서 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
'IT > Java' 카테고리의 다른 글
String 기본 method (26) | 2023.04.29 |
---|---|
문자열 합치기 방법(concat, StringBuilder, StringBuffer, + ) (23.04.26) (8) | 2023.04.28 |
application.yml / .properties 값 가져오기 (@Value) (20) | 2023.04.21 |
자바 String 내에서 따옴표 사용법 (14) | 2023.04.20 |
자바 예외 만들기 (15) | 2023.04.18 |
댓글