ํ๋ก์ ํธ์ ์ ๋ฐ์ ์ธ ๋ฆฌํฉํฐ๋ง์ ๋ค์ ์์ํ๋ฉฐ, ๊ธฐ์กด 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
'๐ Spring Framework > Spring Project' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋์์ฑ ์กฐํ ๋ฌธ์ ํด๊ฒฐ ๋ฐ ์ฑ๋ฅ์ ๊ดํ ๊ณ ๋ฏผ [Lock, Queue, Redis] (0) | 2022.09.14 |
---|---|
๊ฐ์ฒด ๊ฐ ๋งคํ์ ์ํ MapStruct ์ฌ์ฉ ๋ฐฉ๋ฒ (0) | 2022.08.29 |
์ฝ๋ ๋ฆฌํฉํ ๋ง [1] (0) | 2022.08.03 |
๋ฆฌํฉํ ๋ง ๊ณํ (0) | 2022.07.28 |
๋ฆฌํฉํฐ๋ง ใAuthentication(์ธ์ฆ)ใ (0) | 2022.07.11 |