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

04.27 ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ [๋‹ญ๊ฐ€์Šด์‚ด ๊ตฌ๋งค ์‚ฌ์ดํŠธ] [DB ๊ตฌ์ƒ]

by GroovyArea 2022. 4. 27.

Spring boot๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

 

๊ธฐ์กด ์ง„ํ–‰ํ–ˆ๋˜ ํ”„๋กœ์ ํŠธ : https://sweeeetgoguma.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EB%84%90-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%ED%8A%B8%EB%A0%88%EC%9D%B4%EB%84%88-%EB%A7%A4%EC%B9%AD-%EC%82%AC%EC%9D%B4%ED%8A%B8

 

[ํšŒ๊ณ ] ํŒŒ์ด๋„ ํ”„๋กœ์ ํŠธ (ํŠธ๋ ˆ์ด๋„ˆ ์ค‘๊ณ„ ํ”Œ๋žซํผ)

โ–ถ ํŒŒ์ด๋„ ํ”„๋กœ์ ํŠธ ๋! (2022.3.23 ~ 2022.4.13) ๋“œ๋””์–ด ํŒŒ์ด๋„ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋์ด ๋‚ฌ๋‹ค! ํšŒ์˜ ์‹œ์ž‘์ผ์ด ๋ฒŒ์จ ์—Š๊ทธ์ œ ๊ฐ™์€๋ฐ.. ๋ˆˆ ๋‚ด๋ฆฌ๋Š” ์ฒซ ํšŒ์˜์ผ์— ์‹œ์ž‘์„ ํ•ด์„œ ๋๋‚˜๊ณ  ๋ณด๋‹ˆ ๋ฒš๊ฝƒ์ด ๋–จ์–ด์งˆ ๋•Œ์ด๋‹ค. ์ค‘

sweeeetgoguma.tistory.com

 

์ง€๊ธˆ๊นŒ์ง€ ์Šคํ”„๋ง์„ ๊ณต๋ถ€ํ•˜๊ณ  ์ถ”๊ฐ€๋กœ ๊ฐ„๋‹จํ•œ ์›น ํ”„๋กœ์ ํŠธ๋„ ํ•ด๋ณด์•˜๋‹ค. ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋งŒ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ์„ ํ•ด๋ณด๋‹ˆ ๋Œ€๋žต์ ์ธ ์›น ํ๋ฆ„์„ ์•Œ๊ฒŒ ๋˜์—ˆ์ง€๋งŒ, ์ฒ˜์Œ ์ง„ํ–‰ํ–ˆ๋‹ค ๋ณด๋‹ˆ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์„ธ๋ถ€ ๊ฐœ๋…์ด ๋ถ€์กฑํ•œ ๋‚˜๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์Šคํ”„๋ง์— ๋Œ€ํ•œ ์„ธ๋ถ€์ ์ธ ๋‚ด์šฉ์„ ๋” ๊ณต๋ถ€ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋…์„ ์ฐพ์•„๋ณด๊ณ  ์œ ๋ฃŒ ๊ฐ•์˜๊นŒ์ง€ ์ˆ˜๊ฐ•์„ ํ•˜๋ฉฐ ๊ธฐ์ดˆ๋ฅผ ๋‹ค์กŒ๋‹ค.

 

๊ทธ๋Ÿฌ๋‹ค ๋ณด๋‹ˆ ์ œ๋Œ€๋กœ ๋œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•œ๋ฒˆ ์ง„ํ–‰ํ•ด๋ณด๊ณ  ์‹ถ์€ ์š•์‹ฌ์ด ์ƒ๊ฒผ๋‹ค. ๊ทธ ๋™์•ˆ ์–ผํ• ๋“ค์–ด๋ณธ ๊ฒƒ๋“ค, ๋ˆˆ์น˜๋กœ ์•Œ๊ฒŒ ๋˜์—ˆ๋˜ ๊ฒƒ๋“ค, ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๋ชจ๋“ˆ๋“ค.. ํ•œ๋ฒˆ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๋‹ค.

 

์ด๋ฒˆ์—๋Š” ์˜จ์ „ํžˆ ๋‚ด ์Šค์Šค๋กœ ๊ทธ๋™์•ˆ ๊ณต๋ถ€ํ–ˆ๋˜ ๊ฒƒ์„ ๋ฐ€๋„ ์žˆ๊ฒŒ ์Ÿ์•„๋ถ“๋Š” ํ”„๋กœ์ ํŠธ์ด๊ธธ ๋ฐ”๋ž€๋‹ค!

 

์‚ฌ์šฉ ๊ธฐ์ˆ  ์Šคํƒ

- Spring boot, Mybatis, Mysql, Java11, Gradle

- (ThymeLeaf, Bootstrap)

 

์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •

- Spring sercurity

- JPA

โ–ถ ์ฃผ ๊ณ„ํš

1. ์นดํ…Œ๊ณ ๋ฆฌ ๋ณ„ ์ƒํ’ˆ ๋ฆฌ์ŠคํŠธ

2. ์ƒํ’ˆ ๋””ํ…Œ์ผ ํŽ˜์ด์ง€

3. ๊ฒ€์ƒ‰(์นดํ…Œ๊ณ ๋ฆฌ ๋ณ„) ๋ฐ ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ

 

๊ธ€์”จ ์ข€ ์ž˜ ์“ธ๊ฑธ....

=> ๊ธฐ๋ณธ DB ํ…Œ์ด๋ธ” 2๊ฐœ ์ƒ์„ฑ

=> Domain ํด๋ž˜์Šค ์ƒ์„ฑ

=> ๋ง‰์ƒ ์ƒ์„ฑํ•˜๋ ค๊ณ  ํ•˜๋‹ˆ๊นŒ DTO, Domain, Entity, VO ๊ณต๋ถ€ ์ข€ ํ•ด์•ผ๊ฒ ๋‹ค

-> ์ฐธ์กฐ : https://multifrontgarden.tistory.com/182?category=471239 

 

DTO์™€ VO

MVC ๊ตฌ์กฐ๋กœ ๊ฐœ๋ฐœ์„ ํ•˜๊ฒŒ๋˜๋ฉด ๊ณตํ†ต์ ์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ์ž๋ฐ”ํŒŒ์ผ๋“ค์ด ์žˆ๋‹ค. Controller, Service, DAO, DTO๊ฐ€ ๊ทธ๊ฒƒ์ธ๋ฐ ์—ฌ๊ธฐ์„œ DTO๋Š” VO๋ผ๋Š” ๋ช…์นญ์œผ๋กœ๋„ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. ๊ฐ™์€ ๋œป์ด๋ผ๋ฉด ์• ์ดˆ์— 2๊ฐ€์ง€ ์šฉ์–ด๊ฐ€ ์กด์žฌ

multifrontgarden.tistory.com

=> mybatis๋กœ ํ•  ๊ฒƒ์ด๋‹ˆ VO๋กœ ์นญํ•˜๊ณ  ์•„ํ‚คํ…์ณ ์ •๋ฆฌ

=> ์ถ”ํ›„ JPA ๋ฆฌํŒฉํ† ๋ง ์‹œ Entity๋กœ ๋ณ€๊ฒฝ

 

โ–ถ ๋ฌธ์ œ 

1. ๊ณ„์† sqlSessionFactory๋ฅผ ๋งŒ๋“ค๋ž€๋‹ค.. (5์‹œ๊ฐ„์งธ)

ํ•ด๊ฒฐ : MyBatisConfig ํด๋ž˜์Šค Bean ๋“ฑ๋กํ•˜๊ณ  SqlSessionFactory ๋งŒ๋“ค์–ด์„œ ํ•ด๊ฒฐ

ํ•˜..

 

2. ๊ณ„์† Mapper ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ชป ์ฐพ๋Š”๋‹จ๋‹ค

๊ณ„์† ๋ชป์ฐพ๋Š”๋ฐ..

ํ•ด๊ฒฐ : xml ๊ฒฝ๋กœ์™€ interface ๊ฒฝ๋กœ๋ฅผ ์ผ์น˜ ์‹œํ‚ด

ํ•˜..

3. ๊ณ„์† Db connection ์—๋Ÿฌ ๋œฌ๋‹ค.. 

 

>์›์ธ : URL ์ฃผ์†Œ ๋ถˆ์ผ์น˜ 

์Šคํ‚ค๋งˆ ๋ช…์„ ์•ˆ ์“ฐ๊ณ  ์œ ์ €๋ช…๋งŒ ์จ์„œ ๊ทธ๋Ÿค๋‹ค. ํ•˜..
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค..

 

๋ฐ˜์‘ํ˜•