๐ Java & Kotlin & Spring/- spring framework +39 [Spring & Springboot] Generic์ ์ด์ฉํ์ฌ ๋ชจ๋ Request, Response์ Header์ CRUD ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํด๋ณด์. ์ด ์๋ฆฌ์ฆ๋ Spring์์ Generic์ ์ด์ฉํ์ฌ CRUD ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํด๋ณด์.์ ์ด์ด์ง๋ ๊ธ ์ ๋๋ค. Generic(์ ๋๋ฆญ)์ ํต์ฌ๋ง ์ดํดํด๋ณด์. Spring์์ Generic์ ์ด์ฉํ์ฌ CRUD ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํด๋ณด์. ์ด ๊ธ์ ์ค์ ์ ๊ดํ ๊ธ์ด๊ณ ์ ๋๋ฆญ์ ๋ํ ์ด๋ก ์ด ๋ถ์กฑํ์ ๋ถ๋ค์ 1๋ฒ ๋งํฌ๋ฅผ ํตํด ์ถฉ๋ถํ ์์งํ๊ณ ์ค์๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ์ ๋ค๋ฆญ์ ์ค์ ์์ ์ฌ์ฉํด๋ณด์. ์ง๋ ์๊ฐ์ ๋ฐฐ์ด ์ ๋ค๋ฆญ์ ์ด์ด์ ์ด์ ์ค์ ์์ ์ฌ์ฉํด๋ณด๊ธฐ ์ํด ํ๊ฒฝ ๊ตฌ์ฑ์ ํด๋ณด์. Jpa + Springboot + Mysql ์ฐ๋์ ๋ํด์๋ ์ฐ๋ฆฌ๋ ๋ชจ๋ Http ํต์ ์ Header๋ผ๋ ๊ณตํต ๋ถ๋ถ์ด ๋ค์ด๊ฐ์ผ ํ๋ ๊ฒ์ ์๊ณ ์๋ค. ์๋๋ผ๋ฉด request, response ์ setHeader๋ผ๋ ๋ฉ์๋๋ฅผ ํตํด ํค๋๋ฅผ ๊ด.. 2020. 8. 27. [Spring-Core] ์คํ๋ง์ ์ปค๋งจ๋ ๊ฐ์ฒด(Command Object)๋ฅผ ๋น ๋ฅด๊ณ ๊ฐ๋จํ๊ฒ ์์๋ณด์. ์ค๋ ์์๋ณผ ๊ฒ์ Spring-Command Object์ด๋ค. ์ปค๋งจ๋ ๊ฐ์ฒด๋ฅผ ์ค๋ช ํ๊ธฐ ์ํด์๋ Spring์ ์ฌ์ฉํ๊ธฐ ์ ์ด๋ผ๋ ๊ฐ์ ์ ํ๊ณ ๋ถํธํจ์ ๋จผ์ ์๊ฐํด๋ณด๊ณ Spring์ด ์ด ๋ถํธํจ์ ์ด๋ป๊ฒ ํด๊ฒฐํด๋๊ฐ๋ ค๊ณ ํ๋์ง์ ๋ํด์ ์์๋ณด๋๋กํ์. ๋ถํธํจ : ๊ธฐ์กด์ Http ์์ฒญ ์ฐ๋ฆฌ๊ฐ ๋ง์ฝ request๋ก 100๊ฐ์ง์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋๋ค๊ณ ๊ฐ์ ํด๋ณด์. public String joinMember(HttpServletRequest request) { String username = request.getParameter("username"); String password = request.getParameter("password"); String address = request.getParameter("addre.. 2020. 7. 30. [Spring & SpringBoot-JPA] JPA Query Method - JPA ์ฟผ๋ฆฌ ๋ฉ์๋๋ฅผ ์์๋ณด๊ณ ์ฌ์ฉํ์. Hibernate์ QueryMethod ์ฐ๋ฆฌ๊ฐ ์ง๊ธ๊น์ง ๋ฐฐ์ ๋ ์์ ๋ฅผ ๋ค์ ํ๋ฒ ๊ฐ๋ณ๊ฒ ๋ด๋ณด์. Test ์ฝ๋์ด๋ ์ด๋ค ์๋น์ค์ด๋ ๋ชจ๋ findById() ๋ฉ์๋๋ฅผ ํตํด์ id ๊ฐ์ผ๋ก ๊ฒ์์ ํ๋ค. ํ์ง๋ง ์๊ฐํด๋ณด๋ฉด ์ฐ๋ฆฌ๊ฐ ํ์ ๊ฒ์์ ํ ๋ ๋ค์๊ณผ ๊ฐ์ด ํ์ account ์ ๋ณด๋ฅผ ํตํด์ ๊ฒ์์ ํ๋ค. ์ฐ๋ฆฌ๋ ํ์ฌ DB๋ฅผ ๊ด๋ฆฌํ๊ณ ์์ผ๋ id ์นผ๋ผ์ ์ ์ ์๋ ๊ฒ์ด์ง, ์ค์ ์๋น์ค์์ id๋ฅผ ์ธ์ฐ๊ธฐ๋ ์ ๋ง ์ด๋ ค์ด ์ผ์ด๋ค. ๊ทธ๋์ ์ด๋ฐ ์ ์ QueryMethod๋ฅผ ํตํด์ ํ์์ account๋ก ๊ฒ์์ ํ ์ ์๊ฒ ํ๋ค. findById๋ select๋ค. ์ง๊ธ๊น์ง ์ฐ๋ฆฌ๋ findById() ๋ฉ์๋๋ฅผ ํตํด์ id ๊ฐ์ผ๋ก ๊ฒ์์ ํ๋๋ฐ ์ด๋ ์ ํํ ๋ง ํ๋ฉด findBy๋ผ๋ ๋ฌธ๋ฒ์ ๋ณด๋ฉด JPA๊ฐ ์๋์ผ๋ก se.. 2020. 2. 17. [Spring & SpringBoot-JPA] DB ์ฐ๊ด๊ด๊ณ ํ ์ด๋ธ์ Spring JPA๋ฅผ ์ด์ฉํ์ฌ CRUD ํ๊ธฐ. ์ง๋ ์๊ฐ์ ์ฐ๋ฆฌ๋ DB ์ฐ๊ด๊ด๊ณ ํ ์ด๋ธ ์์ฑ ๊น์ง ์งํ์ ํ์๋ค. ์ฐ๊ด๊ด๊ณ ํ ์ด๋ธ์ ์์ฑํ๋ฉฐ 1:N ๊ณผ N:1์ ์ฐ๊ด๊ด๊ณ์ ๋ํด์ ํ ์ด๋ธ์ ์์ฑํ์๊ณ ์ด์ ๋ Spring์์ ์ค์ ๋ก ๊ด๊ณ๋ฅผ ํตํ Data ํธ์ถ์ ํ์ตํด๋ณด์. ํ์ฌ ํ ์ด๋ธ์ ์ฐ๊ด ๊ด๊ณ ๋ค์๊ณผ ๊ฐ์ ๋ ์ฐ๊ด ๊ด๊ณ๋ฅผ ํ์ด๋ณด์๋ฉด user๊ณผ item์ ๊ด๊ณ : ์๋ก ํ์ํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ง ์๊ธฐ ๋๋ฌธ์ ์ด๋ ํ ๊ด๊ณ๋ ๋งบ์ง ์๊ณ ์๋ค. user๊ณผ order_list์ ๊ด๊ณ : order_list๊ฐ ํ์ฌ user์ id๋ฅผ ์ฐธ์กฐํ๊ณ ์๊ธฐ ๋๋ฌธ์ (orderList)n:1(user)์ ๊ด๊ณ ์ด๋ค. item๊ณผ order_list์ ๊ด๊ณ : order_list๊ฐ ํ์ฌ item์ id๋ฅผ ์ฐธ์กฐํ๊ณ ์๊ธฐ ๋๋ฌธ์ (orderList)n:1(item)์ ๊ด๊ณ ์ด๋ค. .. 2020. 2. 16. [Spring & SpringBoot-JPA] DB ์ฐ๊ด๊ด๊ณ ํ ์ด๋ธ ์์ฑ JPA๋ฅผ ์ด์ฉํ๋ค๋ ์๋ฆฌ๋ ๋น์ฐํ๋ DB๋ฅผ ์ฌ์ฉํ๋ค๋ ์ด์ผ๊ธฐ๋ค. ๊ทธ๋ผ DB๋ฅผ ์ฌ์ฉํ ๋ SoftWare ๊ณตํ์ ์ธ ์ ๊ทผ์ผ๋ก DB ์ฐ๊ด ๊ด๊ณ์ ๋ํด์ ์์์ผ ํ๋ค. software ๊ณตํ์ CS์ ๊ธฐ๋ณธ ์์์ด๋ฏ๋ก ํน์ ์ํํธ์จ์ด ๊ณตํ์ ํ์ตํ๊ณ ์ถ์ ์ฌ๋์ software ๊ณตํ ์ ๋ณตํ๊ธฐ ํฌ์คํ ์์ ํฌ์คํ ์ ๊ฐ๋จํ๊ฒ ์ฝ๊ณ ์ค๋ ๊ฒ์ ์ถ์ฒํ๋ค. DB ์ฐ๊ด๊ด๊ณ๋? ์๋ฅผ ๋ค์ด์ ๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ ํ ์ด๋ธ์ด ์๋ค๊ณ ํด๋ณด์. ์ฌ์ฉ์๊ฐ item์ ๊ตฌ๋งคํ๋ค๊ณ ํ์ ๋, ๋ค์์ ๋ง์กฑ์์ผ ๋ณด์. ์ฌ์ฉ์๋ ์ฌ๋ฌ๊ฐ์ ์์ดํ ์ ๊ตฌ๋งคํ ์ ์์ด์ผ ํ๋ค. ํด๋น ์์ดํ ์ ๋ช ๋ช ์ ์ฌ์ฉ์๊ฐ ์ฃผ๋ฌธํ๋์ง ์์์ผ ํ๋ค. ์ด๋ฅผ ๋ง์กฑ์ํค๊ธฐ ์ํด์ ์ฐ๋ฆฌ๋ ์ฐ๊ด๊ด๊ณ๋ฅผ ์ด์ฉํ๋ค. ์ฐ๊ด ๊ด๊ณ๋ฅผ ์ด์ฉํ๋ค๋ฉด user์ id๋ฅผ ์ธ๋ํค๋ก ๊ฐ๊ณ item์ id.. 2020. 2. 2. [Spring & Springboot-JPA] JPA๋ฅผ ์ด์ฉํ CRUD ๋ฉ์๋ ์์ฑํ๊ธฐ - 5 (delete๋ฉ์๋๋ก ํ์ ํํด ์๋น์ค ๋ง๋ค๊ธฐ) ํด๋น ํฌ์คํธ๋ ์ฌ๋ฌ ํธ์ผ๋ก ๋๋์ด์ ธ ํ๋์ ๊ฐ๋ ์ ์ด๋ฃจ๊ณ ์์ต๋๋ค. ๋ณด๋ค ์์ธํ ํ์ต๊ณผ ์ดํด๋ฅผ ์ํด ๋ค๋ฅธ ํฌ์คํธ๋ ์ฐธ๊ณ ํด์ฃผ์ธ์ :) 1 Jpa์ Entity ์ค์ ๋ฐ Repository ์ค์ 2 create๋ฉ์๋๋ก ํ์๊ฐ์ ์๋น์ค ๋ง๋ค๊ธฐ-๊ผญ ํ์ธํ์ ์ผํด์!! 3 read ๋ฉ์๋๋ก ํ์ ๊ฒ์ ์๋น์ค ๋ง๋ค๊ธฐ 4 update ๋ฉ์๋๋ก ๊ฐ์ธ์ ๋ณด ์์ ์๋น์ค ๋ง๋ค๊ธฐ 5 delete ๋ฉ์๋๋ก ํ์ ํํด ์๋น์ค ๋ง๋ค๊ธฐ ์ ์ ์ฐ๋ฆฌ๋ update() ๋ฉ์๋๋ฅผ ํตํด์ ํ์ ์ ๋ณด๋ฅผ ์์ ํ๋ ์์ ๋ฅผ ํ ์คํธํด ๋ณด์๋ค. ์ด๋ฒ์๋ delete()๋ฉ์๋๋ฅผ ์ด์ฉํด์ ํ์ ํํด ์๋น์ค๋ฅผ ๋ง๋ค์ด๋ณด์. ๋ ๊ทธ๋ ๋ฏ controller ํ ์คํธ๋ฅผ ์ค๋นํ์. ๊ฒฝ๋ก ๋ํ ๋ ๊ทธ๋ฌํ ์ฅ์์.. ๋ง๋ จํ๋ค. delete ๋ฉ์๋๊ฐ ์ํ๋๋ ์์๋ฅผ ๋์ดํ๋ฉด.. 2020. 1. 27. ์ด์ 1 2 3 4 5 6 7 ๋ค์