til19 ์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_Day 14 ์ค๋ ํ ๊ณต๋ถ ๐ง ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ (Java, SQL) 1๋ฌธ์ ํ์ด & ๋ธ๋ก๊ทธ ์ ๋ฆฌSpring ์๋ จ ๊ฐ์ ๋ฃ๊ธฐ (3์ฃผ์ฐจ ์ค์ต ํํธ)Spring ์๋ จ ๊ฐ์ ๋ด์ฉ ๋ณต์ตTIL ๋ธ๋ก๊ทธ ์์ฑ ์ค๋ ์ป์ ๋ด์ฉ ์ ๋ฆฌ โ๏ธ ์ค์ต ํํธ ๋ณต์ตํ๋ฉด์ ๋ด์ฉ๋ค ์์๋๋ก ์ ๋ฆฌํด์ผ๊ฒ ๋ค.1. JPA ๊ด๋ จ ์ค์ ํ๊ธฐ๋๋ณด๊ธฐDataSource ์ค์ application.propertiesspring.datasource.url=jdbc:mysql://localhost:3306/boardspring.datasource.username=๊ณ์ spring.datasource.password=๋น๋ฐ๋ฒํธspring.datasource.driver-class-name=com.mysql.cj.jdbc.DriverHibernate ์ค์ application.pr.. 2024. 12. 12. ์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_Day 13 ์ค๋ ํ ๊ณต๋ถ ๐ง ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ (Java) 1๋ฌธ์ ํ์ด & ๋ธ๋ก๊ทธ ์ ๋ฆฌSpring ์๋ จ ๊ฐ์ ๋ฃ๊ธฐ (2์ฃผ์ฐจ)๋ฒ ์ด์ง๋ฐ ์ธ์ ๋ธ๋ก๊ทธ ์ ๋ฆฌSpring ์๋ จ ๊ฐ์ ๋ฃ๊ธฐ (3์ฃผ์ฐจ ์ค์ต ๊ฐ์ ์ ๊น์ง)TIL ๋ธ๋ก๊ทธ ์์ฑ ์ค๋ ์ป์ ๋ด์ฉ ์ ๋ฆฌ โ๏ธ ๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ ์ดํด๊ฐ ์๋๋ ๋ถ๋ถ๋ค ๋ฐ๋ก ๊ตฌ๊ธ๋งํด์ ์ ๋ฆฌํ๋ ๋ด์ฉ์ ์ ๋ฆฌํด์ผ๊ฒ ๋ค!์ฆ์ ๋ก๋ฉ (Immediate Loading)fetch = fetchType.EAGEREntity๋ฅผ ์กฐํํ ๋ ํด๋น Entity์ ์ฐ๊ด๋ ๋ชจ๋ Entity๋ฅผ ๋์์ ์กฐํํ๋ ๋ฐฉ์์ด๋ค.A Entity์ B Entity๊ฐ ์ฐ๊ด๋์ด ์์ ๋, A๋ฅผ ์กฐํํ๋ฉด B๋ ํจ๊ป ์กฐํ๋๋ค. ์ด๋ก ์ธํด ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ํ์ํ ์์ ์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋ค.ํ์ง๋ง ์กฐ์ธ ๋ฑ์ ๋ณต์กํ ์ฟผ๋ฆฌ๊ฐ ์์ฑ๋ ์ ์๊ณ , ๋ถํ์.. 2024. 12. 11. ์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_Day 12 ์ค๋ ํ ๊ณต๋ถ ๐ง ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ (Java) 1๋ฌธ์ ํ์ด & ๋ธ๋ก๊ทธ ์ ๋ฆฌ๊ฐ์ธ ๊ณผ์ ํธ๋ฌ๋ธ ์ํ ์์ฑ๊ฐ์ธ ๊ณผ์ KPT ํ๊ณ ์์ฑSpring ์๋ จ ๊ฐ์(1์ฃผ์ฐจ) ๋ฃ๊ธฐ๋ฒ ์ด์ง๋ฐ ์์ค๋ณ ํ์ต๋ฐ ์ธ์ ๋ฃ๊ธฐTIL ๋ธ๋ก๊ทธ ์์ฑ ์ค๋ ์ป์ ๋ด์ฉ ์ ๋ฆฌ โ๏ธ ๊ฐ์ธ ๊ณผ์ KPT ํ๊ณ ์์ฑํ๋ฉด์ ๋ถ์กฑํ๋ ๋ถ๋ถ์ ์๊ฐํด๋ณผ ์ ์์๊ณ ๋ค์ ๊ณผ์ ์๋ ๋ณด์ํด์ ๊ณผ์ ๋ฅผ ์งํํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค๊ณ ์๊ฐํ๋ค.๋ด๊ฐ ์ํ๋ ์ ๊ณผ ๋ถ์กฑํ ์ , ๋ฌธ์ ์ ์ ์ ๋ฆฌํ ์ ์์ด์ ์ข์๋ค.Spring ์๋ จ ๊ฐ์(1์ฃผ์ฐจ)์ ๋ฌธ ๊ฐ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฐ๋ ๋ถ๋ถ์ 2๋ฐฐ์์ผ๋ก ๋ค์๋ค.๋ฐ๋ก ๊ฐ๋ ์ ์ ๋ฆฌํด์ผ ํ ๊ฒ ๊ฐ์ ๋๋์ด ๋ค์๋ค. ์๊ณ ์์ด์ผ ํ ๊ฐ๋ ๋ค์ Notion์ด๋ ๋ธ๋ก๊ทธ์ ์ ๋ฆฌํ ์์ ์ด๋ค.๋ฒ ์ด์ง๋ฐ ์์ค๋ณ ํ์ต๋ฐ ์ธ์ RESTful APIURLHTTP MethodM.. 2024. 12. 10. ์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_Day 11 ์ค๋ ํ ๊ณต๋ถ ๐ง ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ (Java) 1๋ฌธ์ ํ์ด & ๋ธ๋ก๊ทธ ์ ๋ฆฌ๊ฐ์ธ ๊ณผ์ Lv2๊น์ง ๋ฆฌํฉํ ๋ง๊ฐ์ธ ๊ณผ์ ์ฃผ์ ์ถ๊ฐํ๊ธฐ๊ฐ์ธ ๊ณผ์ README ์์ฑ ์ค๋ ์ป์ ๋ด์ฉ ์ ๋ฆฌ โ๏ธ ์ค๋ ์งํํ๋ ๊ณผ์ ์งํ ์ํฉ์ ์ ๋ฆฌํด ๋์ผ๊ฒ ๋ค!Lv2 ํํธ๋ฅผ JDBC์ ์ ์ฉํ๋ ๊ฒ์ ๋๋๋ค!์ผ์ ์์ ํํธ ์ฝ๋ ์์ - TodoRepository(updateTodo ๋ฉ์๋ ์์ ), JdbcTemplateRepository(updateTodo ๋ฉ์๋ ์์ ), TodoScheduleService(updateTodoService ๋ฉ์๋ ์์ )์ผ์ ์ญ์ ์ฝ๋ ์์ - JdbcTemplateRepository(deleteTodo ๋ฉ์๋ ์์ ), TodoRepository(deleteTodo ๋ฉ์๋ ์์ ), TodoScheduleS.. 2024. 12. 9. ์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_Day 10 ์ค๋ ํ ๊ณต๋ถ ๐ง ๊ฐ์ธ ๊ณผ์ Lv 1 - JDBC๋ก ๋ฐ๊พธ๊ธฐ ์ค๋ ์ป์ ๋ด์ฉ ์ ๋ฆฌ โ๏ธ ์ค๋ ์งํํ๋ ๊ณผ์ ์งํ ์ํฉ์ ์ ๋ฆฌํด ๋์ผ๊ฒ ๋ค!์๋ฃ๊ตฌ์กฐ๋ก ๋ค ์์ฑํ๋ ๊ณผ์ ๋ฅผ JDBC๋ก ๋ฐ๊พธ๊ธฐ ์์ํ๋ค.์ผ์ ์์ฑ ์์ - Todo(@Setter ์ ๊ฑฐ), TodoScheduleRepository(์ญ์ ), JdbcTemplateRepository(์์ฑ ๋ฐ createTodo ๋ฉ์๋ ์์ ), TodoScheduleService(createTodoService ๋ฉ์๋ ์์ ), TodoResponseDto(@AllArgsConstructor Annotation ์ถ๊ฐ)์ ์ฒด ์ผ์ ์กฐํ ์์ - TodoScheduleService(searchAllTodoService ๋ฉ์๋ ์์ ), TodoScheduleController(s.. 2024. 12. 8. ์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_Day 8 ์ค๋ ํ ๊ณต๋ถ ๐ง ๋ฒ ์ด์ง๋ฐ 1ํ์ฐจ ๋ นํ๋ณธ ๋ณด๊ธฐ๊ฐ์ธ ๊ณผ์ Lv1, Lv2 ๋์ TIL ๋ธ๋ก๊ทธ ์์ฑ ์ค๋ ์ป์ ๋ด์ฉ ์ ๋ฆฌ โ๏ธ ์ค๋ ์งํํ๋ ๊ณผ์ ์งํ ์ํฉ์ ์ ๋ฆฌํด ๋์ผ๊ฒ ๋ค!๋จผ์ project์ GitHub ๋ ํผ์งํ ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ ์ฐ๋ํ๋ค.๊ทธ๋ค์ controller, service, repository, domain, dto ํจํค์ง๋ฅผ ์์ฑํ๋ค.๊ฐ๊ฐ์ ์ผ์ ์ ์์ฑํ ์ ์๋๋ก domain ํจํค์ง์ Todo ํด๋์ค๋ฅผ ๋ง๋ค๊ณ ํ๋์ ์์ฑ์๋ฅผ ์์ฑํ๋ค.์ ๋ณด๋ค์ ์ ๋ฌํด ์ค ์ ์๋ TodoRequestDto์ TodoResponseDto ํด๋์ค๋ฅผ ์์ฑํ๋ค.TodoService ์ธํฐํ์ด์ค์ ๊ตฌํ์ฒด TodoScheduleService ํด๋์ค, TodoRepository ์ธํฐํ์ด์ค์ ToroScheduleRepository.. 2024. 12. 6. ์ด์ 1 2 3 4 ๋ค์