๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“• Spring Framework/Spring Project

DB ์ˆ˜์ • & jpa ์„ธํŒ…

by GroovyArea 2022. 8. 8.
ํ”„๋กœ์ ํŠธ์˜ ์ „๋ฐ˜์ ์ธ ๋ฆฌํŒฉํ„ฐ๋ง์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ฉฐ, ๊ธฐ์กด mybatis๋ฅผ ์ด์šฉํ–ˆ๋˜ ๊ฒƒ์„ ๊ทธ๋Œ€๋กœ ์˜ฎ๊ฒจ์™”๋‹ค.

ํ•˜์ง€๋งŒ SQL Mapper๋ฅผ ์ด์šฉํ•œ ์„ค๊ณ„ ํŠน์„ฑ์ƒ ๊ฐ์ฒด ์ง€ํ–ฅ์ ์ธ ์ฝ”๋“œ์˜ ์ž‘์„ฑ์ด ์–ด๋ ค์› ๊ณ , ๋˜ ๊ธฐ์กด DB ์„ค๊ณ„์˜ ๋ฌธ์ œ๋„ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. 

DB์˜ ์ „๋ฐ˜์ ์ธ ์ˆ˜์ •๊ณผ ๋”๋ถˆ์–ด, JPA๋ฅผ ์ด์šฉํ•ด ๋‹ค์‹œ ๋ฆฌํŒฉํ„ฐ๋ง์„ ํ•ด๋ณด๊ธฐ๋กœ ๊ฒฐ์ •์„ ๋‚ด๋ ธ๋‹ค.

๊ทธ ์ˆ˜์ •๊ณผ์ •๊ณผ JPA ์„ธํŒ… ๋ฐฉ๋ฒ•์„ ๋‚˜์—ดํ•ด๋ณด๊ฒ ๋‹ค.

https://github.com/GroovyArea/My-ChickenBreast-Shop

 

GitHub - GroovyArea/My-ChickenBreast-Shop: shop api with spring boot

shop api with spring boot . Contribute to GroovyArea/My-ChickenBreast-Shop development by creating an account on GitHub.

github.com

SQL Mapper ๊ธฐ์กด ๋ฌธ์ œ์ 

๊ธฐ์กด์—๋Š” Mybatis๋ฅผ ์ด์šฉํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ 2๊ฐœ ์ง„ํ–‰ํ–ˆ์—ˆ๋‹ค.

DB์™€ ์—ฐ๋™ํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋“  ์ฟผ๋ฆฌ๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, SQL์„ ์ž‘์„ฑํ•˜๋Š” ์—ฐ์Šต์„ ํ•˜๋Š” ๋ฐ๋Š” ๋„์›€์ด ๋˜์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

 

13์ ˆ์˜ ์ฟผ๋ฆฌ์—์„œ VO๋ฅผ ๋ฆฌํ„ด ๋ฐ›๊ณ  ๊ฐ’์˜ ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚  ๊ฒฝ์šฐ ๋‹ค์‹œ ์ €์žฅํ•˜๊ฒŒ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค๊ณ  ์น˜์ž.

VO๋Š” Setter๊ฐ€ ์—†์œผ๋ฏ€๋กœ, ๋‹ค์‹œ ์ƒ์„ฑ์ž๋ฅผ ์ด์šฉํ•ด ๋ณ€๊ฒฝ๋œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜, ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฐ›์•„์™€์„œ ์ˆ˜์ •์„ ํ•ด์•ผ ๋  ๊ฒƒ์ด๋‹ค. 

 

๋˜ ์ž์—ฐ์Šค๋ ˆ SQL ์— ์˜์กด์ ์ธ ๊ฐœ๋ฐœ์„ ํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋ฏ€๋กœ, ๋งคํผ์— ๊ธฐ๋ฐ˜ํ•œ ๋กœ์ง์„ ์ž‘์„ฑํ•˜๊ณ  ํ๋ฆ„์„ ์ด๋Œ์–ด ๋‚˜๊ฐˆ ์ˆ˜๋ฐ–์— ์—†๋‹ค.

๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ๊ตฌ์กฐ์™€ ๋ฉ€์–ด์ง€๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์ข€ ๋” ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฝ๊ณ  ์ˆ˜์ค€ ๋†’์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๋ณด๋‹ค ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๊ณ  ์‹ถ์€ ์ƒ๊ฐ์ด ์žˆ์–ด์„œ ์ด ์ฐธ์— JPA๋ฅผ ์ด์šฉํ•ด์„œ ๋ฆฌํŒฉํ„ฐ๋ง์„ ํ•ด๋ณด๊ธฐ๋กœ ๊ฒฐ์‹ฌํ–ˆ๋‹ค.

 

> JPA ์„ธํŒ…

JPA ์„ธํŒ…์€ ๋ญ ๋ณ„๊ฑฐ ์—†๋‹ค.

Spring boot starter JPA๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , 

application.properties์— ๊ธฐ๋ณธ์ ์ธ jpa ์„ค์ •๋“ค์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋์ด๋‚œ๋‹ค.

 

๋„ˆ๋ฌด ์‰ฝ๊ธฐ ๋•Œ๋ฌธ์—, ๋”ฐ๋กœ ์ •๋ฆฌํ•˜์ง„ ์•Š๊ฒ ๋‹ค.

์ฐธ์กฐ : https://blog.jiniworld.me/129

 

[Spring Data JPA Tutorial] 4. JPA ๋ฐ datasource ์„ค์ •ํ•˜๊ธฐ

dependency ์„ค์ • Spring Data JPA starter Database Connector Maven Update Spring Data JPA repository Bean ์„ค์ • Entity ํด๋ž˜์Šค ์ƒ์„ฑ DB access๋ฅผ ์œ„ํ•œ Repository ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์„ฑํ•˜๊ธฐ ์„œ๋น„์Šค ๋‹จ์œ„ ๊ตฌ์„ฑ contr..

blog.jiniworld.me

 

> javax ๊ธฐ๋ณธ ์• ๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•ด์„œ ์—ฐ๊ด€๊ด€๊ณ„๋„ ์„ค์ •ํ•ด์ฃผ๊ณ .

 

์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ๊ฐœ๋ฐœ ์ดˆ๊ธฐ ๋‹จ๊ณ„์—์„œ ๋ฏธ๋ฆฌ ํ•˜์ง€ ๋ง๊ณ , ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ๋งบ์–ด์ฃผ์ž~

 

DB ์ˆ˜์ •

๊ธฐ์กด ERD

  • DB ์ž์ฒด์˜ ์ •ํ•ด์ง„ ์ปจ๋ฒค์…˜๋„ ์—†์ด ์—†๋‹ค.
  • ์นด์นด์˜คํŽ˜์ด ์™ธ๋ถ€ API์— ์˜์กด์ ์ธ ์นผ๋Ÿผ์ด ์กด์žฌํ•œ๋‹ค. 
  • ์ „๋ฐ˜์ ์ธ ์ฃผ๋ฌธ ํ”„๋กœ์„ธ์Šค์˜ ํ…Œ์ด๋ธ” ๊ตฌ์„ฑ์ด ์ž˜๋ชป๋˜์—ˆ๋‹ค.

 

์ˆ˜์ • ERD

  • pk์˜ ์ปจ๋ฒค์…˜์„ ์ง€ํ‚ค๋ฉฐ ์ˆ˜์ •ํ•ด๋ณด์•˜๋‹ค.
  • Amount ํ…Œ์ด๋ธ”์€ DB์— ์ €์žฅํ•  ์ด์œ ๊ฐ€ ์—†๊ธฐ์— ์‚ญ์ œํ–ˆ๋‹ค.
  • Product ๋ ˆ์ฝ”๋“œ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์ •๋  ๊ฒฝ์šฐ ์ฃผ๋ฌธํ•œ ์ƒํ’ˆ์˜ ๋ฐ์ดํ„ฐ๋„ ์ˆ˜์ •๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ ์ž ์ค‘๊ณ„ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ–ˆ๊ณ , ์ฃผ๋ฌธ ๋‹น์‹œ ์ƒํ’ˆ์˜ ์Šค๋ƒ…์ˆ ๋ฐ์ดํ„ฐ๊นŒ์ง€ ๋ณด๊ด€ํ–ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ์˜ ์ˆ˜์ • ๋ฐ ์กฐํšŒ๋ฅผ ์›ํ™œํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์ƒ์„ฑ, ์ˆ˜์ • ์‹œ๊ฐ ์นผ๋Ÿผ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค.

์ฐธ์กฐ : https://techblog.woowahan.com/2591/

 

์šฐ์•„ํ•œ ํŒŒ์ผ๋Ÿฟ ํ”„๋กœ์ ํŠธ 2๊ธฐ(feat.๊ณ ๋…ํ•œ๊ฐœ๋ฐœ์ž) | ์šฐ์•„ํ•œํ˜•์ œ๋“ค ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

{{item.name}} ๋“ค์–ด๊ฐ€๋ฉฐ ์•ˆ๋…•ํ•˜์„ธ์š”. ์ €๋Š” ์šฐ์•„ํ•œํ…Œํฌ์บ ํ”„๋ฅผ ํ†ตํ•ด ์šฐ์•„ํ•œํ˜•์ œ๋“ค์— ํ•ฉ๋ฅ˜ํ•œ ๋ฐฐ๋ฏผ์„œ๋ฒ„๊ฐœ๋ฐœํŒ€์˜ ๊น€๋ฏผ์ง€์ž…๋‹ˆ๋‹ค. ์ด ๊ธ€์„ ํ†ตํ•ด ์ €ํฌ ํŒ€์—์„œ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ์‹ ์ž… ๊ต์œก์˜ ์ผํ™˜์ธ Show me the co

techblog.woowahan.com

 

๋ฐ˜์‘ํ˜•