본문 바로가기

Spring Boot 에 JOOQ 설정하기. 새로운 스프링 프로젝트를 만들때, Spring Initalizr를 사용한다. Spring Initializr 는 인터넷이 연결된 상태에서만 설정이 가능하고, 기본적으로 https://start.spring.io 를 통해서 Service를 제공 받는다. Java Build Tool 인 Maven과 Gradle 둘 중에 하나를 선택하여서 프로젝트를 설정할 수 있다. JOOQ 는 Java Object Oriented Querying 의 준말로, 말그대로 Java 코드로 SQL을 작성할 수 있게 해주는 프로젝트다. 최근 런칭한 한 서비스에서 JPA와 JOOQ를 주 기술로 사용하였다고 한다. JOOQ는 JPA와 마찬가지로, DataBase에 상관없이 사용할 수 있다. 스프링 부트에서 JOOQ를 설정하는 것은 아주.. 더보기
마이바티스(MyBatis) 동적 쿼리 Java로 만들기. 스프링은 3.0 부터 Java Config를 지원하기 시작했고, 스프링 부트는 XML 설정 없이 동작 한다. (물론 여전히 XML 설정은 가능하다.) 마이바티스 또한, XML 설정 없이 Java 클래스만을 사용하여서, 동적 쿼리 생성이 가능하다. 스프링부트까지 사용하면 금상첨화다. 먼저, 회원 목록을 조회할 Controller를 작성하자. 화면에서, "/members" 요청이 들어오면, 회원 목록의 JSON 문자열을 반환하게 한다. Controller 의 요청을 받을 Service 클래스도 아래와 같이 작성한다. 이제부터 시작이다. Service 의 요청을 처리해 줄 Mapper 인터페이스를 만든다. (DAO로 혹은, Repository로 이름짓기도 한다.) @Mapper interface MemberM.. 더보기
마이바티스(MyBatis) Mapper XML 파일 빌드에 추가하기. 스프링 부트에서 마이바티스 XML로 설정하기. XML 파일로 매퍼를 설정했지만, 왠지 XML 매퍼도 JAVA 패키지 안에 넣고 싶다. (위의 프로젝트는, XML 파일이 resource 파일안에 있다.) 하지만, Maven 빌드를 할 경우, XML 파일은 빌드되지 않는다. 분명, MemberMapper.xml 파일이 존재하지만, 빌드 하면.. 아래와 같이 MemberMapper.xml 파일은 제외하고 빌드 된다. 이때는 Maven의 pom.xml 파일에 아래와 같이 설정을 추가하면 된다. 물론, 주의 깊게 봐야할 부분은.. includes 부분이다. 모든 폴더의 모든 xml 파일을 빌드에 추가하겠다는 설정이다. **/*.xml 설정을 추가하고, 다시 package 하면.. MemberMapper.xml 파.. 더보기