๐Ÿ’ช(6-2) [Spring&mybatis] ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ - ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ

์”ฉ์”ฉํ•œ ์กฐ์•ฝ๋Œยท2023๋…„ 2์›” 6์ผ
0

๋ฏธ๋‹ˆํ”„๋กœ์ ํŠธ๐Ÿคน

๋ชฉ๋ก ๋ณด๊ธฐ
17/21
post-thumbnail

์ฐธ๊ณ ์˜์ƒ : https://youtu.be/Jc9UTY_lcrY

๊ฐœ๋ฐœํ™˜๊ฒฝ

์–ธ์–ด : 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

๊ตฌํ˜„๋‚ด์šฉ

  1. ๋ฉ”์ธํŽ˜์ด์ง€ / ๊ฒŒ์‹œํŒ ๋ชฉ๋ก ๊ตฌํ˜„
  2. CREATE : ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ

CREATE : ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ

1. '๊ธ€์“ฐ๊ธฐ(write.do)'๋ฅผ ๋ˆ„๋ฅด๋ฉด ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ํผ(write.jsp)์œผ๋กœ ์ด๋™

1. ๊ธ€์“ฐ๊ธฐ๋ฅผ ๋ˆ„๋ฅด๋ฉด write.do๊ฐ€ ์š”์ฒญ๋˜๋„๋ก ์„ค์ • : list.jsp

<body>
	<h2>๊ฒŒ์‹œํŒ ๋ชฉ๋ก</h2>
	<table>
		<a href="write.do">๊ธ€์“ฐ๊ธฐ</a>

2. BoardController

	@RequestMapping(value="/write.do", method=RequestMethod.GET)
	public ModelAndView writeExecute(ModelAndView mav) {
		mav.setViewName("/board/write");
		return mav;
	}

3. ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑํผ(write.jsp) ์ƒ์„ฑ

<body>
<h1>๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ํผ</h1>
</body>

4. ์‹คํ–‰

2. ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ํผ(write.jsp)์— ๊ฒŒ์‹œ๊ธ€ ๋‚ด์šฉ์„ ์ž…๋ ฅํ•˜๊ณ  ์ž‘์„ฑ(write.do)์„ ๋ˆ„๋ฅด๋ฉด DB์— ์ €์žฅ+list.jsp๋กœ ์ด๋™

1. write.jsp ์ˆ˜์ •

  • #write๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด write.do๊ฐ€ post๋ฐฉ์‹์œผ๋กœ ์š”์ฒญ๋จ
  • view์—์„œ ๋ฐ›์•„์˜ฌ ๋‚ด์šฉ : writer, title, content
    (dto์— setter๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ๋Š” ๋ณ€์ˆ˜์™€ ์š”์†Œ์˜ name์ด ๊ฐ™๊ฒŒ ์ง€์ •)
<body>
	<form name = "frm" action="write.do" method="post">
		<div>
			<span>์ž‘์„ฑ์ž</span>
			<input type="text" name="writer">
		</div>
		<div>
			<span>์ œ&nbsp;&nbsp;&nbsp;๋ชฉ</span>
			<input type="text" name="title">
		</div>
		<div>
		<textarea rows="10" cols="30" name="content" placeholder="๋‚ด์šฉ์„ ์ž…๋ ฅํ•˜์„ธ์š”"></textarea>
		</div>
		<input type="submit" value="์ž‘์„ฑํ•˜๊ธฐ" id='write'>
	</form>
</body>

2. BoardMapper.xml

  • num, writer, title, content๋Š” ์™ธ๋ถ€์—์„œ ๋ฐ›์•„์˜ด
  • parameterType : BoardDTO
	<insert id="write" parameterType="board.dto.BoardDTO">
		INSERT INTO boardBasic (num, writer, title, content, regdate, readcount)
		VALUES (boardBasic_num_seq.nextval, #{writer}, #{title}, #{content}, sysdate, 0)
	</insert>

3. BoardDaoImp

  • INSERT ์ฟผ๋ฆฌ๋ฌธ ์ฒ˜๋ฆฌํ•œ ๊ฐ’์„ dto์— ๋„ฃ์–ด์คŒ
	@Override
	public void write(BoardDTO dto) {
		sqlSession.insert("board.write",dto);
	}

4. BoardServiceImp

	@Override
	public void writeProcess(BoardDTO dto) {
		boardDao.write(dto);
	}

5. BoardController

	@RequestMapping(value="/write.do", method=RequestMethod.POST)
	public String writeProExecute(BoardDTO dto) {
		boardService.writeProcess(dto);
		return "redirect:/list.do";
	}

6. ์‹คํ–‰

profile
์”ฉ์”ฉํ•˜๊ฒŒ ๊ณต๋ถ€์ค‘ (22.11~)

0๊ฐœ์˜ ๋Œ“๊ธ€