SpringBoot ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ๋ dependancy์ JPA ๋๊ตฌ๋ฅผ ์ถ๊ฐํด์ค์ผํ๋ค.
JPA : ์๋ฐ ์ธ์ด๋ก DB์ ๋ช
๋ น์ ๋ด๋ฆฌ๋ ๋๊ตฌ์ด๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฒด ์งํฅ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ฒ ํด์ค
๊ทธ๋ฌ๋ฉด JPA์ ํต์ฌ ๋๊ตฌ์ธ Entity์ Repository๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค.
- DTO๋ฅผ Entity๋ก ๋ณํํ๊ธฐ
- Repository๋ก Entity๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๊ธฐ
public [๋ฉ์๋๋ช
] toEntity(){
return new [์์ฑ์](ํ๋ผ๋ฏธํฐ1,2,3...);
}
[Entity ๊ฐ์ฒด] = [DTO๊ฐ์ฒด].toEntity();๋ฅผ ํตํด Entity ๊ฐ์ฒด๋ก ๋ณํํ ์ ์์.
(CrudRepository : JPA์์ ์ ๊ณตํ๋ ์ธํฐํ์ด์ค๋ก, ์ํฐํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์์)
Repository ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋๋ new ํค์๋๋ฅผ ์ฌ์ฉํ ํ์ ์์ด @Autowired ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ๋ฉด ์คํ๋ง๋ถํธ๊ฐ ๋ฏธ๋ฆฌ ์์ฑํด๋์ ๊ฐ์ฒด๋ฅผ ์์์ ์ฐ๊ฒฐํด์ค
JDBC URL ์ฐพ๋ ๋ฒ
์๋ฒ๋ฅผ ๊ฐ๋์ํจ ํ ์ธํ ๋ฆฌ์ ์ด์ Run ํญ์์ โ + F ๋ก 'jdbc:h2:'๋ฅผ ๊ฒ์ํ๋ฉด 'jdbc:h2:mem:'์ ๋ท๋ถ๋ถ์ด ํด๋น ์๋ฒ์ jdbc url ๊ฐ์ด๋ค.
ํ๋ก์ ํธ์ src > main > resources > application.properties ํ์ผ์ spring.h2.console.enabled=true ๋ฅผ ์ถ๊ฐํด์ค๋ค.
ํฌ๋กฌ์ ์ฃผ์์ฐฝ์ localhost:8080/h2-console ๋ก ์ด๋ํ๋ค.
JDBC URL ์ ๋ ฅ์ฐฝ์ ์์์ ์ฐพ์ JDBC URL ๊ฐ์ 'jdbc:h2:mem:'๊น์ง ๋ถ์ฌ์ ์ถ๊ฐํ ํ Connect๋ฅผ ํด๋ฆญํ๋ฉด ๋!