inflearn logo
강의

Khóa học

Chia sẻ kiến thức

JOOQ ngoài đời thực! Gõ SQL an toàn với Java

Tạo điều kiện tìm kiếm đơn giản bằng Điều kiện

IDE로 스프링부트 실행없이 jooq로 짠 쿼리 결과를 바로 확인하는 방법이 있을까요?

Đã giải quyết

503

Sol Park

4 câu hỏi đã được viết

1

jOOQ를 공부하면서 너무 편하게 쿼리를 작성하고 있는데 한가지 불편한 점이 있어서 질문 드립니다.

 

단순 쿼리 결과를 확인하고 싶은 경우 마이바티스는 xml에 짠 쿼리를 DB 스키마와 바로 연결해 스프링부트를 띄울 필요 없이 intelliJ IDE에서 쿼리를 날리고 서비스 탭에서 쿼리 결과를 보여주도록 할 수있는데, jOOQ는 자바 코드로 되어 있어서 이렇게 IDE에서 바로 쿼리 결과를 확인해볼 수 없더라구요.

 

테스트코드로 실행한 후 나간 쿼리를 직접 sql 콘솔에 찍어 결과를 보거나, 강의 마지막에 알려주신 jooq SQL 변환 사이트로 자바 코드로 되어있는 jooq 구문을 sql로 변환해서 sql 콘솔에서 실행하는 방법 말고 더 편리한 방법이 있는지 궁금합니다.

java sql spring-boot jooq dsl

Câu trả lời 1

3

sdm32851630

Sol Park님 안녕하세요 🙂

우선 강의를 완강하셨군요! 축하드립니다! ㅎㅎ

 

말씀하신 것처럼 두 가지 방법이 최선입니다.

  • 테스트 코드를 통해 jOOQ로 작성한 쿼리를 실행시키거나

  • jOOQ Translator 사이트를 이용하거나 (SQL Parser API 사용)

 

보통 jOOQ를 사용 할 때 제일 많이 받은 피드백 중 하나가

"MyBatis 처럼 SQL을 바로 실행하거나 이미 작성한 SQL을 붙여 넣을 수 없다." 인데요. 

이 부분은 우리가 SQL을 프로그래매틱하게 제어함으로써 얻은 생산성, 안정성과 같은 이점에 대한

트레이드 오프라고 생각합니다. (슬프게도 은총알은 없습니다!)


실제로 비슷한 원리로 사용되는

QueryDSL, kotlin의 exposed와 kotlin-jdsl, 스칼라의 slick과 같은 기술들

모두 같은 문제를 가지고 있습니다.

 

다행히도(?) 다른 기술들은 1번밖에 선택지가 없지만

jOOQ는 2번 선택지도 있다는 점을 인지하시면 좋을듯합니다.

감사합니다.

1

Sol Park

감사합니다. 역시 은총알은 없는 것이군요ㅎㅎ

그래도 말씀해주신 것처럼 jooq의 장점이 확실해서 앞으로도 마이바티스는 jooq로 완전 대체해서 사용해볼까 합니다.

답변 감사합니다!

안녕하세요 FetchGroups에서 Multiset방식 사용하면 어떤가 해서 물어봅니다

0

60

1

monosoul jooq plugin-docker registry 변경

1

101

3

질문) jOOQ 프로젝트에서 CI/CD 자동화 문의

1

176

3

generate dao 를 통한 삽입 시 pk auto-increment 가 적용되지 않습니다

1

109

1

jooq+flyway에서 질문드립니다

0

250

2

안녕하세요 생성일,생성자,수정일,수정자는 자동으로 해주는 기능이 있을까요?

0

209

2

[사례] Maven에서 TestContainers 플러그인 적용시 예외발생

0

143

0

Routines 관련 질문

1

159

2

JOOQ 환경설정 중에 db 패스워드 관련 질문입니다.

1

173

1

Sakila DB 도커 컴포즈 구성 시 팁

1

152

1

DB 벤더별 내장함수에 대한 방언 지원 듣고 질문드려요

1

176

1

인텔리제이 테마 질문

2

426

3

kotlin jOOQ , 컴파일시 힙메모리 부족

0

525

2

pojo 에 setter 가 없는 경우가 있을까요?

1

189

1

FilmWithActor로 fetch 시 select와 생성자의 매개변수 순서가 다를 경우 map이 정상적으로 이루어 지지않는 케이스

1

228

1

from절 subquery table filed nullable 처리

1

221

1

kotlin mapping error

0

517

4

db column은 not null로 되어 있는데 kotlin에서 pojo가 다 nullable로 생성되요.

0

514

1

하나의 디비를 여러 백엔드 서버가 필요로 할 때, flyway 관리

1

889

5

dslContext 작성 시 fetchGroups 이렇게 작성해도 될까요?

2

639

6

update with dto 질문

1

268

1

R2DBC 환경에서 jOOQ generate 된 Dao를 사용할 수 있는 방법이 있을까요?

2

1246

3

build.gradle.kts

3

758

2

마리아 DB 쓰시는분들은 mysql 파일 쓰시면됩니다.

1

371

1