๊ฐ๋ฐํ๊ฒฝ
์ธ์ด : JAVA (JDK 11)
์๋ฒ : Apache Tomcat 9.0
ํ๋ ์์ํฌ : Spring Framework 3.9.18, MyBatis 3.5.8, Bootstrap 5.2.3
DB : OracleXE 11gR2
IDE : sts-3.9.18.RELEASE, SQL Developler
๊ตฌํ๋ด์ฉ
- ๋ฉ์ธํ์ด์ง / ๊ฒ์ํ ๋ชฉ๋ก ๊ตฌํ
- CREATE : ๊ฒ์๊ธ ์์ฑ
- READ : ๊ฒ์๊ธ ๋ณด๊ธฐ + ์กฐํ์ ์ฆ๊ฐ
- UPDATE : ๊ฒ์๊ธ ์์
<a href="list.do">๋ชฉ๋ก</a>
<a href="update.do">์์ </a>
@RequestMapping(value="/update.do")
public ModelAndView updateExecute(ModelAndView mav) {
mav.setViewName("/board/update");
return mav;
}
<body>
<h2>๊ฒ์๊ธ ์์ </h2>
<form name = "frm" action="update.do" method="post">
<div>
<span>์์ฑ์</span>
<input type="text" name="writer" value="${dto.writer}" readonly/>
</div>
<div>
<span>์ ๋ชฉ</span>
<input type="text" name="title" value="${dto.title}"/>
</div>
<div>
<textarea rows="10" cols="30" name="content">${dto.content}</textarea>
</div>
<input type="hidden" name="num" value="${dto.num}"/>
<input type="submit" value="์์ ํ๊ธฐ" id='update'/>
</form>
</body>
์ฟผ๋ฆฌ๋ฌธ์ด read์ ๋๊ฐ์ (num์ ์กฐ๊ฑด์ผ๋ก 1๊ฐ์ ๋ฐ์ดํฐ๋ง ๊ฐ์ ธ์ค๊ธฐ)
<select id="read" parameterType="int" resultType="board.dto.BoardDTO">
SELECT * FROM boardBasic
WHERE num=#{num}
</select>
@Override
public BoardDTO read(int num) {
return sqlSession.selectOne("board.read", num);
}
1๊ฐ์ ๊ฐ๋ง ๊ฐ์ ธ์ค๋ ๋ฉ์๋ ์์ฑ
@Override
public BoardDTO updateOneProcess(int num) {
return boardDao.read(num);
}
@RequestMapping(value="/update.do", method=RequestMethod.GET)
public ModelAndView updateExecute(int num, ModelAndView mav) {
mav.addObject("dto", boardService.updateOneProcess(num));
mav.setViewName("/board/update");
return mav;
}
<a href="update.do?num=${dto.num}">์์ </a>
<update id="update" parameterType="board.dto.BoardDTO">
UPDATE boardBasic
SET title = #{title}, content=#{content}
WHERE num=#{num}
</update>
@Override
public BoardDTO update(BoardDTO dto) {
return sqlSession.selectOne("board.update", dto);
}
@Override
public BoardDTO updateProcess(BoardDTO dto) {
return boardDao.update(dto);
}
@RequestMapping(value="/update.do", method=RequestMethod.POST)
public String updateExecute(BoardDTO dto) {
boardService.updateProcess(dto);
return "redirect:/list.do";
}
@RequestMapping(value="/update.do", method=RequestMethod.POST)
public String updateExecute(BoardDTO dto) {
int num = dto.getNum();
boardService.updateProcess(dto);
return "redirect:/read.do?num="+num;
}
-> ๋ด์ฉ ์์ ํ ๊ฒ์๊ธ๋ณด๊ธฐ๊ฐ ๊ฐ๋ฅํ์ง๋ง ์กฐํ์๊ฐ ์ด 2๊ฐ ์ฆ๊ฐ๋จ
<update id="update" parameterType="board.dto.BoardDTO">
UPDATE boardBasic
SET title = #{title}, content=#{content}, readcount = readcount-1
WHERE num=#{num}
</update>