์์๋ค ๋จผ์ ๋ฑ๋ก ํด ์ค๋ค.๋ต๊ธ ๋๋ฅผ ๋ ์ ๋๋๊ธ ๋ฑ๋ก div๊ฐ ๋์ค๊ฒ ํ ๊บผ์!โก๏ธ ์ผ๋จ ์๋ณด์ด๊ฒ ๋ง๋ ๋ค: style="display: none ์ฒ๋ฆฌ๋ต๊ธ์ ๋๋ฅด๋ฉด ์์น๋ฅผ ์ฎ๊ธฐ๊ณ ๋ค์ style="display: block ์ผ๋ก ๋ง๋ค๋ฉด ๋๋ค.1๏ธโฃ replyForm์
โ๏ธ 6. ๋ทฐ(UI) ์์ฑ & ํ ์คํธ bno๋ฅผ 1๋ก ๊ฐ์ ํ๊ณ bno๊ฐ ํธ์ถ์ด ๋๋ฉด GET์ผ๋ก ์์ฒญ์ด ๊ฐ์ 1๋ฒ์ ์๋ ๋๊ธ๋ค์ ๋ค ๊ฐ์ ธ์จ๋ค.
๐ก ๋๊ธ ๊ธฐ๋ฅ ๊ตฌํ ์์ > โ๏ธ 1. DBํ ์ด๋ธ ์์ฑ ๋๊ธ ๊ธฐ๋ฅ์ ๋ฃ์ ๋๋ ๋จผ์ DBํ ์ด๋ธ์ ์์ฑํด ์ค์ผ ํ๋ค. > โ๏ธ 2. Mapper XML ์์ฑ ์ค๊ฐ์ MyBatis ์์ฑ โก๏ธ Mapper XML ์ฆ, SQL๋ฌธ์ ์์ฑํด์ผ ํ๋ค. โก๏ธ CRUD ์์ฑ
โ๏ธ DB์ ์ปค๋ฅ์ ์ ๋งบ๊ณ ์๋ ๊ฐ์ฒด๋ฅผ ๊ด๋ฆฌํ๋ ์ญํ ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด๋์ธ ์น ์ดํ๋ฆฌ์ผ์ด์ ์์, ์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ๋ผ Connection์ด ์์ฑ๋๋ค๋ฉด ์ ๋ง์ ์ฌ์ฉ์๊ฐ ์์ฒญ์ ํ์ ๋ ์๋ฒ์ ๊ณผ๋ถํ๊ฐ ๊ฑธ๋ฆฌ๊ฒ ๋๋ค.์ด๋ฌํ ์ํฉ์ ์๋ฐฉํ๊ธฐ ์ํด ๋ฏธ๋ฆฌ ์ผ์ ๊ฐฏ์์ Con
โ๏ธ ๋์ ์ฟผ๋ฆฌ: ๊ฒ์ํ ๋์์ ๋ญ๋ก ์ ํํ๋๋์ ๋ฐ๋ผ์ ์ฟผ๋ฆฌ๊ฐ ๋ฌ๋ผ์ ธ์ผ ํ๋ค. โ๏ธ ํ์ด์ง ์ด๋์ฒ๋ฆฌ: ๊ฒ์ํ ๊ฒฐ๊ณผ์์ ์ด๋ค ๋ด์ฉ์ ์ฝ์๋๋ฐ ๋ชฉ๋ก๋ณด๊ธฐ๋ฅผ ๋๋ ์ ๋ ํ์ด์ง ์ฒ๋ฆฌ๋ ์ ๊ฒฝ์จ์ผ ํ๋ค.๊ธฐ๋ณธ์ ์ผ๋ก ์ ํ๋ ๊ฒ์ด selectedoption๊ณผ keyword์ ๊ฐ์ ๋ฐ์์ผ
boardList.jsp์ ๊ธ์ฐ๊ธฐ ๋ฒํผ์ ํ๋ ์ถ๊ฐํ๊ณ ๋ฒํผ ํด๋ฆญํ๋ฉด BoardController์ wrtie() ์ ํธ์ถํ๊ฒ ๋ง๋ค ๊ฒwrite() ๋ board.jsp๋ฅผ ๋ณด์ฌ์ฃผ๋ฉด ๋๋ค.๊ฒ์๊ธ ์ฝ๊ธฐ: mode = new ๊ฒ์ํ ๊ธ์ฐ๊ธฐโก๏ธ ๊ฒ์ํ์ ์ฝ์ ๊ฒ์ธ์ง ์ธ ๊ฒ์ธ์ง
uri๊ฐ ๋๊ฐ์ด /board/write์ด์ง๋ง http๋ฉ์๋๋ฅผ ํตํด ๊ตฌ๋ณํ์๋ค.์์ ์์ post๋ฐฉ์์ผ๋ก ์ค๋ฉด ์์ ๋ ๊ฒ์๋ฌผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๋ค.boardList.jsp์์ ์ ๋ชฉ์ ํด๋ฆญํ๋ฉด ์ ๋ชฉ์ ๊ฑธ๋ ค์๋ ๋งํฌ์ ๋ฐ๋ผ์ ์์ฒญ์ด ๊ฐ๋ค. ๊ฒ์๋ฌผ ๋ฒํธ๊ฐ ๊ฐ์ด ๋ฐ๋ผ๊ฐBoar
boardList.jsp๋ฅผ ๋ง๋ค๊ธฐ ์ ์ TDD๋ก ์ฐ๋ฆฌ๊ฐ ์ํ๋๋๋ก ํ์ด์ง์ด ๋๋์ง ํ ์คํธ ํด๋ณผ ๊ฒ์ด๋ค.board.jsp: ๊ฒ์๋ฌผ ๋ด์ฉ์ ๋ณด์ฌ์ฃผ๋ ํ๋ฉด.: ํ์ฌ ํ์ด์ง์ ๊ฐ์ ๋๋ ค์ค์ผ ํ๋ฉด์ด ๋์จ๋ค.: ํ์ฌ ํ์ด์ง, ๋ค์ ํ ์ด์ง์๋ ๊ฐ ํ์ด์ง ๋ฒํธ๊ฐ ๊ฑฐ๊ธฐ์ ๋ง๊ฒ ๋งํฌ๊ฐ
1๏ธโฃ DB ํ ์ด๋ธ ์์ฑ2๏ธโฃ Mapper XML & DTO ์์ฑ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ๋ก ๋ถํฐ ๋ฐ์ดํฐ๋ฅผ CRUD๋ฅผ ํ๊ธฐ ์ํ sql๋ฌธ๋ค์ ์์ฑselect๋ฅผ ํ๊ธฐ ์ํ resultType์ BoardDto๋ก ์ค์ 3๏ธโฃ DAO ์ธํฐํ์ด์ค ์์ฑ4๏ธโฃ DAO ์ธํฐํ์ด์ค ๊ตฌํ &
โ๏ธ ๋์ด์ ๋๋ ์ ์๋ ์์ ์ ๋จ์insert, update, select ๋ฑ ๋ช ๋ น ํ๋ํ๋๊ฐ Transaction์ด๋ค.: ๋๋ ์ง์ง ์๊ธฐ ๋๋ฌธ๊ณ์ข์ด์ฒด์ ๊ฒฝ์ฐ, ์ถ๊ธ๊ณผ ์ ๊ธ์ด ํ๋์ ํธ๋์ญ์ ์ผ๋ก ๋ฌถ์ฌ์ผ ๋๋ค.โ ๋ง์ฝ ์ถ๊ธ, ์ ๊ธ ๋๋ค ๊ฐ๊ฐ์ ํธ๋์ญ์ ์ ๊ฐ์ง๊ณ ์๋ค๋ฉด?
๐ก JDBC(Java Database Connectivity) > โ๏ธ ์๋ฐ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ํ ์ ์๋๋ก ํ๋ ์๋ฐ API โ๏ธ JDBC ํ์ค ์ธํฐํ์ด์ค์ 3๊ฐ์ง ๊ธฐ๋ฅ java.sql.Connection : ์ฐ๊ฒฐ java.sql.Statement : SQL
โ๏ธ SQL๋ฌธ์ ์คํํ ๋ ์ฌ์ฉํ๋ ์ธํฐํ์ด์คSELECT๋ฌธ์ DBMS ๋ด๋ถ์ ์ผ๋ก 4๋จ๊ณ์ ๊ณผ์ (Parse, Bind, Execute, Fetch)์ ๊ฑฐ์ณ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค. โก๏ธ ๊ตฌ๋ฌธ ๋ถ์์ ํ๋ parse ๊ณผ์ ์ ๊ฑฐ์น๋ฉด ํ์ฑ ํธ๋ฆฌ๊ฐ ์์ฑ๋๋ค.๋งค๋ฒ ์ฟผ๋ฆฌ๋ฅผ ์ํํ ๋๋ง๋ค
my-sql์ปค๋ฅํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฃ์๋๋ฐ ์๋๊ฐ์ง๊ณ ์ง์ง ์ด๊ฑฐ๋๋งค ๊ณ ์ ํ๋๋ฐ ์คํ์ค๋ฒํ๋ก์ฐ ํด๊ฒฐ์ ๋์ด ๋์์ฃผ์ จ๋ค ใ ใ ใ ใ ๐ก ํด์: ์ข ์์ฑ์ Maven์ด ๋ก์ปฌ ์บ์์์ ์ฐพ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋นจ๊ฐ์์ ๋๋ค. ์๋ ๋ค์ ๋ก๋๋ฅผ ์ค์ ํ์ง ์์ ๊ฒฝ์ฐ POM์ ๋ณ๊ฒฝํ ๋ Intel
โ๏ธ ๋ฐ์ดํฐ (Data): ํ์ค์ธ๊ณ์์ ๊ด์ฐฐ ๋๋ ์ธก์ ํด ์์งํ ์ฌ์ค์ด๋ ๊ฐโ๏ธ ์ ๋ณด (Information): ๋ฐ์ดํฐ๋ฅผ ๋ชฉ์ ์ด๋ ์๋์ ๋ง๊ฒ ๊ฐ๊ณต ์ฒ๋ฆฌํ์ฌ ์ป์ ๊ฒฐ๊ณผ๋ฌผ์ง์๊ธฐ๋ฐ ์ฌํ์์ ๋์ฉ๋ ๋ฐ์ดํฐ๊ด๋ฆฌ์ ๋ํ ํ์์ฑ์ 2์ธ๋ ์ปดํจํฐ ์์คํ ๋ถํฐ ๋์ ๋ ํ์ผ์์คํ ์ ๋ฌธ์