Skip to content

db-jay/QueryDSL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

12 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Querydsl ํ•™์Šต ํ”„๋กœ์ ํŠธ

Spring Boot + JPA + Querydsl์„ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•๋ถ€ํ„ฐ ๋™์  ์ฟผ๋ฆฌ, DTO ์กฐํšŒ, ์ˆœ์ˆ˜ JPA ๋ฆฌํฌ์ง€ํ† ๋ฆฌ, Spring Data JPA + Querydsl ํŽ˜์ด์ง•๊นŒ์ง€ ํ•™์Šตํ•œ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.

ํ•™์Šต ๋ชฉํ‘œ

Querydsl์˜ ๊ธฐ๋ณธ ๋ฌธ๋ฒ• โ†’ DTO ์กฐํšŒ โ†’ ๋™์  ์ฟผ๋ฆฌ โ†’ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ ์šฉ โ†’ ํŽ˜์ด์ง• ์ตœ์ ํ™” ํ๋ฆ„์„ ์ˆ™์ง€ํ•œ๋‹ค.

ํ•™์Šต ๋‚ด์šฉ

  • JPQL vs Querydsl ๋น„๊ต
  • Q-Type ๊ธฐ๋ฐ˜ ๊ธฐ๋ณธ ์กฐํšŒ ๋ฌธ๋ฒ•
  • ๊ฒ€์ƒ‰ ์กฐ๊ฑด, ์ •๋ ฌ, ํŽ˜์ด์ง•
  • ์กฐ์ธ / on์ ˆ / ์„ธํƒ€ ์กฐ์ธ / ํŽ˜์น˜ ์กฐ์ธ
  • DTO ์กฐํšŒ
    • JPQL new
    • Projections.bean
    • Projections.fields
    • Projections.constructor
    • @QueryProjection
  • ๋™์  ์ฟผ๋ฆฌ
    • BooleanBuilder
    • where ๋‹ค์ค‘ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฐฉ์‹
  • ์ˆœ์ˆ˜ JPA + Querydsl ๋ฆฌํฌ์ง€ํ† ๋ฆฌ
  • Spring Data JPA + Querydsl ์‚ฌ์šฉ์ž ์ •์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ
  • Querydsl ํŽ˜์ด์ง•
    • ๋‹จ์ˆœ ํŽ˜์ด์ง•
    • count ์ฟผ๋ฆฌ ๋ถ„๋ฆฌ ์ตœ์ ํ™”

ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

  • QuerydslBasicTest
    • Querydsl ๊ธฐ๋ณธ ๋ฌธ๋ฒ• ํ•™์Šต์šฉ ํ…Œ์ŠคํŠธ
  • MemberJpaRepository
    • ์ˆœ์ˆ˜ JPA + Querydsl ๋น„๊ต
  • MemberRepository, MemberRepositoryImpl
    • Spring Data JPA + Querydsl ์ ์šฉ
  • MemberController
    • ์กฐํšŒ API ์‹ค์Šต
  • InitMember
    • ๋กœ์ปฌ ์‹คํ–‰ ์‹œ ์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐ ์ดˆ๊ธฐํ™”

์กฐํšŒ API

  • /v1/members : ์ˆœ์ˆ˜ JPA + Querydsl ์กฐํšŒ
  • /v2/members : Spring Data JPA + Querydsl ๋‹จ์ˆœ ํŽ˜์ด์ง•
  • /v3/members : count ์ฟผ๋ฆฌ ์ตœ์ ํ™” ํŽ˜์ด์ง•

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages